From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Add missing testcases present in rhel6 GDB; some still FAIL. Date: Thu, 23 Jul 2026 18:32:38 GMT Message-ID: <178483155865.1.307694408157430622.rpms-gdb-29d49d94919c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 29d49d94919c0664cf9421b12eacbd9e78a7d3f9 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogMjlkNDlkOTQ5MTljMDY2NGNmOTQyMWIxMmVhY2JkOWU3 OGE3ZDNmOQpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxNi0xMC0yMFQyMjozMDo0MyswMjowMApTdGF0cyAgOiArMjg5OS8tODcg aW4gMTEgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1z L2dkYi9jLzI5ZDQ5ZDk0OTE5YzA2NjRjZjk0MjFiMTJlYWNiZDllNzhhN2QzZjk/YnJhbmNoPWZp eC1kdXAtcGF0Y2gKCkxvZzoKQWRkIG1pc3NpbmcgdGVzdGNhc2VzIHByZXNlbnQgaW4gcmhlbDYg R0RCOyBzb21lIHN0aWxsIEZBSUwuCgotLS0KZGlmZiAtLWdpdCBhL2dkYi02LjMtc3RlcC10aHJl YWQtZXhpdC0yMDA1MDIxMS10ZXN0LnBhdGNoIGIvZ2RiLTYuMy1zdGVwLXRocmVhZC1leGl0LTIw MDUwMjExLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjlh MmY5NgotLS0gL2Rldi9udWxsCisrKyBiL2dkYi02LjMtc3RlcC10aHJlYWQtZXhpdC0yMDA1MDIx MS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTg3IEBACisyMDA1LTAyLTExICBKZWZmIEpvaG5zdG9u ICA8ampvaG5zdG5AcmVkaGF0LmNvbT4KKworCSogdGVzdHN1aXRlL2dkYi50aHJlYWRzL3N0ZXAt dGhyZWFkLWV4aXQuYzogTmV3IHRlc3RjYXNlLgorCSogdGVzdHN1aXRlL2dkYi50aHJlYWRzL3N0 ZXAtdGhyZWFkLWV4aXQuZXhwOiBEaXR0by4KKwkKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL3N0ZXAtdGhyZWFkLWV4aXQuYworPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RlcC10aHJlYWQtZXhpdC5jCTIwMTYtMTAtMjAgMjE6 MzY6MTcuMjg4NjUxOTg5ICswMjAwCitAQCAtMCwwICsxLDQ5IEBACisrLyogVGhpcyB0ZXN0Y2Fz ZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAw NSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT b2Z0d2FyZQorKyAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz MCwKKysgICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4gICovCisrCisrI2luY2x1ZGUgPHB0 aHJlYWQuaD4KKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2lu Y2x1ZGUgPHVuaXN0ZC5oPgorKworK3ZvaWQgKnRocmVhZF9mdW5jdGlvbiAodm9pZCAqcHRyKQor K3sKKysgIGludCAqeCA9IChpbnQgKilwdHI7CisrICBwcmludGYoIkluIHRocmVhZF9mdW5jdGlv biwgKnggaXMgJWRcbiIsICp4KTsKKyt9IC8qIHRocmVhZF9mdW5jdGlvbl9lbmQgKi8KKysKKyt2 b2xhdGlsZSBpbnQgcmVwZWF0ID0gMDsKKysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysgIGlu dCByZXQ7CisrICBwdGhyZWFkX3QgdGg7CisrICBpbnQgaSA9IDM7CisrCisrICByZXQgPSBwdGhy ZWFkX2NyZWF0ZSAoJnRoLCBOVUxMLCB0aHJlYWRfZnVuY3Rpb24sICZpKTsKKysgIGRvCisrICAg IHsKKysgICAgICByZXBlYXQgPSAwOworKyAgICAgIHNsZWVwICgzKTsgIC8qIHNsZWVwICovCisr ICAgIH0KKysgIHdoaWxlIChyZXBlYXQpOworKyAgcHRocmVhZF9qb2luICh0aCwgTlVMTCk7Cisr ICByZXR1cm4gMDsKKyt9CitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy9zdGVwLXRocmVhZC1leGl0LmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvc3RlcC10aHJlYWQtZXhpdC5leHAJMjAxNi0xMC0yMCAyMTozODoxNy42NzI1 NzkxNTMgKzAyMDAKK0BAIC0wLDAgKzEsMTIzIEBACisrIyBUaGlzIHRlc3RjYXNlIGlzIHBhcnQg b2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyMgQ29weXJpZ2h0IDIwMDUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK KysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhl IExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMK KysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisrIyBGb3VuZGF0 aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEt MTMwNywgVVNBLiAgCisrCisrIyBDaGVjayB0aGF0IEdEQiBjYW4gc3RlcCBvdmVyIGEgdGhyZWFk IGV4aXQuCisrCisrc2V0IHRlc3RmaWxlICJzdGVwLXRocmVhZC1leGl0IgorK3NldCBzcmNmaWxl ICR7dGVzdGZpbGV9LmMKKytzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHt0ZXN0 ZmlsZX1dCisraWYge1tnZGJfY29tcGlsZV9wdGhyZWFkcyAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8k e3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSBbbGlzdCBkZWJ1ZyAiaW5jZGlyPVtz dGFuZGFyZF9vdXRwdXRfZmlsZSAuXSJdXSAhPSAiIiB9IHsKKysgICAgcmV0dXJuIC0xCisrfQor KworK2dkYl9leGl0CisrZ2RiX3N0YXJ0CisrZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8k c3ViZGlyCisrZ2RiX2xvYWQgJHtiaW5maWxlfQorKworKyMgUmVzZXQgdGhlIGRlYnVnIGZpbGUg ZGlyZWN0b3J5IHNvIHdlIGNhbid0IGRlYnVnIHdpdGhpbiB0aGUgQyBsaWJyYXJ5CisrZ2RiX3Rl c3QgInNldCBkZWJ1Zy1maWxlLWRpcmVjdG9yeSAuIiAiIiAiIgorKworKyMKKysjIFJ1biB0byBg bWFpbicgd2hlcmUgd2UgYmVnaW4gb3VyIHRlc3RzLgorKyMKKysKKytpZiAhW3J1bnRvX21haW5d IHRoZW4geworKyAgICBnZGJfc3VwcHJlc3NfdGVzdHMKKyt9CisrCisrIyBGSVhNRTogQ3VycmVu dGx5IHRoZSBtYWluIHRocmVhZCB3aWxsIGVzY2FwZS9leGl0IGJlZm9yZSBvdXIgdGhyZWFkIGZp bmlzaGVzCisrIyB3aXRob3V0IHRoaXMgc2V0dGluZy4KKytnZGJfdGVzdCAic2V0IHNjaGVkdWxl ci1sb2NraW5nIHN0ZXAiCisrZ2RiX3Rlc3QgInNob3cgc2NoZWR1bGVyLWxvY2tpbmciICJNb2Rl IGZvciBsb2NraW5nIHNjaGVkdWxlciBkdXJpbmcgZXhlY3V0aW9uIGlzIFwic3RlcFwiLiIgImNo ZWNrIHNjaGVkdWxlci1sb2NraW5nIGZpcnN0IgorKworK3NldCBzbGVlcF9saW5lIFtleHByIFtn ZGJfZ2V0X2xpbmVfbnVtYmVyICJzbGVlcCJdXQorK3NldCBlbmRfbGluZSBbZXhwciBbZ2RiX2dl dF9saW5lX251bWJlciAidGhyZWFkX2Z1bmN0aW9uX2VuZCJdXQorKworK2dkYl9icmVha3BvaW50 ICIkZW5kX2xpbmUiCisrZ2RiX3Rlc3QgImNvbnRpbnVlIiAiQnJlYWsuKnRocmVhZF9mdW5jdGlv bi4qIiAiY29udGludWUgdG8gdGhyZWFkX2Z1bmN0aW9uIDEiCisrCisrIyBLZWVwIG5leHRpbmcg dW50aWwgd2UgY2F1c2UgdGhlIHRocmVhZCB0byBleGl0LiAgV2UgZXhwZWN0IHRoZSBtYWluCisr IyB0aHJlYWQgdG8gYmUgc3RvcHBlZCBhbmQgYSBtZXNzYWdlIHByaW50ZWQgdG8gdGVsbCB1cyB3 ZSBoYXZlIHN0ZXBwZWQKKysjIG92ZXIgdGhlIHRocmVhZCBleGl0LgorK3NldCB0ZXN0ICJzdGVw IG92ZXIgdGhyZWFkIGV4aXQgMSIKKytnZGJfdGVzdF9tdWx0aXBsZSAibmV4dCIgIiR0ZXN0IiB7 CisrICAtcmUgIlx9LiokZ2RiX3Byb21wdCAkIiB7CisrICAgICBzZW5kX2dkYiAibmV4dFxuIgor KyAgICAgZXhwX2NvbnRpbnVlCisrICB9CisrICAtcmUgIlxbVGhyZWFkIC4qIGV4aXRlZFxdLipQ cm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdTVE9QLiokZ2RiX3Byb21wdCAkIiB7CisrICAgICBw YXNzICIkdGVzdCIKKysgIH0KKysgIC1yZSAic3RhcnRfdGhyZWFkLiokZ2RiX3Byb21wdCAkIiB7 CisrICAgICBzZW5kX2dkYiAibmV4dFxuIgorKyAgICAgZXhwX2NvbnRpbnVlCisrICB9CisrfQor KworKyMgV2l0aG91dCB0aGlzIGZpeHVwIHdlIGNvdWxkIGVuZCB1cCBpbjoKKysjICMwICAweDAw MTEwNDE2IGluIF9fa2VybmVsX3ZzeXNjYWxsICgpCisrIyAjMSAgMHgwMDExZGUyNiBpbiBfX2xs bF91bmxvY2tfd2FrZV9wcml2YXRlICgpIGZyb20gL2xpYi9saWJwdGhyZWFkLnNvLjAKKysjICMy ICAweDAwMTE3OWY0IGluIF9MX3VubG9ja18zMTY0ICgpIGZyb20gL2xpYi9saWJwdGhyZWFkLnNv LjAKKysjICMzICAweDAwMTE2ZjAxIGluIHB0aHJlYWRfY3JlYXRlQEBHTElCQ18yLjEgKCkgZnJv bSAvbGliL2xpYnB0aHJlYWQuc28uMAorKyMgIzQgIDB4MDgwNDg1MzEgaW4gbWFpbiAoKSBhdCAu Li8uLi8uL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RlcC10aHJlYWQtZXhpdC5jOjM5Cisr Z2RiX2JyZWFrcG9pbnQgIiRzbGVlcF9saW5lIgorK2dkYl90ZXN0ICJzZXQgcmVwZWF0PTEiICIi ICJHZXQgdG8gdGhlIHNsZWVwIGZ1bmN0aW9uIHByZXBhcmUgMSIKKytnZGJfdGVzdCAiY29udGlu dWUiICJCcmVhay4qJHNsZWVwX2xpbmUuKiIgIkdldCB0byB0aGUgc2xlZXAgZnVuY3Rpb24gMSIK KysKKytnZGJfdGVzdCAiYnQiICJtYWluLiokc2xlZXBfbGluZS4qIiAiYmFja3RyYWNlIGFmdGVy IHN0ZXAgMSIKKysKKytydW50b19tYWluCisrZ2RiX3Rlc3QgInNob3cgc2NoZWR1bGVyLWxvY2tp bmciICJNb2RlIGZvciBsb2NraW5nIHNjaGVkdWxlciBkdXJpbmcgZXhlY3V0aW9uIGlzIFwic3Rl cFwiLiIgImNoZWNrIHNjaGVkdWxlci1sb2NraW5nIHNlY29uZCIKKysKKytnZGJfYnJlYWtwb2lu dCAiJHNsZWVwX2xpbmUiCisrZ2RiX2JyZWFrcG9pbnQgIiRlbmRfbGluZSIKKytzZXQgdGVzdCAi Y29udGludWUgdG8gdGhyZWFkX2Z1bmN0aW9uIDIiCisrZ2RiX3Rlc3RfbXVsdGlwbGUgImNvbnRp bnVlIiAiJHRlc3QiIHsKKysgICAgLXJlICJCcmVhay4qdGhyZWFkX2Z1bmN0aW9uLiokZ2RiX3By b21wdCAkIiB7CisrCXBhc3MgJHRlc3QKKysgICAgfQorKyAgICAtcmUgIkJyZWFrLiokc2xlZXBf bGluZS4qJGdkYl9wcm9tcHQgJCIgeworKwlnZGJfdGVzdCAic2V0IHJlcGVhdD0xIiAiIiAiIgor KwlzZW5kX2dkYiAiY29udGludWVcbiIKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKyt9CisrCisr IyBLZWVwIG5leHRpbmcgdW50aWwgd2UgY2F1c2UgdGhlIHRocmVhZCB0byBleGl0LiAgSW4gdGhp cyBjYXNlLCB3ZQorKyMgZXhwZWN0IHRoZSBicmVha3BvaW50IGluIHRoZSBtYWluIHRocmVhZCB0 byBoYXZlIGFscmVhZHkgdHJpZ2dlcmVkCisrIyBhbmQgc28gd2Ugc2hvdWxkIHN0b3AgdGhlcmUg d2l0aCBhIG1lc3NhZ2UgdGhhdCB3ZSBzdGVwcGVkIG92ZXIKKysjIHRoZSB0aHJlYWQgZXhpdC4K KytzZXQgdGVzdCAic3RlcCBvdmVyIHRocmVhZCBleGl0IDIiCisrZ2RiX3Rlc3RfbXVsdGlwbGUg Im5leHQiICIkdGVzdCIgeworKyAgLXJlICJcfS4qJGdkYl9wcm9tcHQgJCIgeworKyAgICAgc2Vu ZF9nZGIgIm5leHRcbiIKKysgICAgIGV4cF9jb250aW51ZQorKyAgfQorKyAgLXJlICJcW1RocmVh ZCAuKiBleGl0ZWRcXS4qQnJlYWsuKiRzbGVlcF9saW5lLiokZ2RiX3Byb21wdCAkIiB7CisrICAg ICBwYXNzICIkdGVzdCAoYnJlYWtwb2ludCBoaXQpIgorKyAgfQorKyAgLXJlICJcW1RocmVhZCAu KiBleGl0ZWRcXS4qJGdkYl9wcm9tcHQgJCIgeworKyAgICAgcGFzcyAiJHRlc3QgKGJyZWFrcG9p bnQgbm90IGhpdCkiCisrICB9CisrICAtcmUgInN0YXJ0X3RocmVhZC4qJGdkYl9wcm9tcHQgJCIg eworKyAgICAgc2VuZF9nZGIgIm5leHRcbiIKKysgICAgIGV4cF9jb250aW51ZQorKyAgfQorK30K KysKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaCBiL2dkYi1hcmNoZXIt dmxhLXRlc3RzLnBhdGNoCmluZGV4IGYzMDE4MGEuLjEzMzI2MTQgMTAwNjQ0Ci0tLSBhL2dkYi1h cmNoZXItdmxhLXRlc3RzLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCkBA IC0xLDcgKzEsNyBAQAotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUv Z2RiLmFkYS9wYWNrZWRfYXJyYXkuZXhwCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYWRhL3BhY2tlZF9hcnJheS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMS45MC4yMDE2 MDgwNy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmFkYS9wYWNrZWRfYXJyYXkuZXhwCTIwMTYtMDgt MDcgMDQ6MDA6MDEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5leHAJMjAxNi0wOC0yNSAxODo0NDo0Mi4w NTg3ODkwNTggKzAyMDAKKy0tLSBnZGItNy4xMi5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmFkYS9w YWNrZWRfYXJyYXkuZXhwCTIwMTYtMTAtMjAgMjE6MDI6MzAuOTQxOTcwNTU2ICswMjAwCisrKysg Z2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5leHAJMjAxNi0xMC0y MCAyMTowMzowOS40ODQyNzE5MTMgKzAyMDAKIEBAIC01Niw1ICs1NiwxMSBAQAogICAgICAgICAg IyBhcmUuICBPYnNlcnZlZCB3aXRoIChGU0YgR05VIEFkYSA0LjUuMyAyMDExMDEyNCkuCiAgICAg ICAgICB4ZmFpbCAkdGVzdApAQCAtMTQsMTAgKzE0LDU5MyBAQCBJbmRleDogZ2RiLTcuMTEuOTAu MjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5leHAKICsgICAgfQog IH0KICAKLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNo L3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUworSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5TCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAu MjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMJ MjAxNi0wOC0yNSAxODo0NDo0Mi4wNTg3ODkwNTggKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci1mb28uUwkyMDE2LTEwLTIwIDIxOjAz OjA5LjQ4NTI3MTkyMSArMDIwMAorQEAgLTAsMCArMSw0NTcgQEAKKysJLmZpbGUJIng4Nl82NC12 bGEtcG9pbnRlci5jIgorKwkuc2VjdGlvbgkuZGVidWdfYWJicmV2LCIiLEBwcm9nYml0cworKy5M ZGVidWdfYWJicmV2MDoKKysJLnNlY3Rpb24JLmRlYnVnX2luZm8sIiIsQHByb2diaXRzCisrLkxk ZWJ1Z19pbmZvMDoKKysJLnNlY3Rpb24JLmRlYnVnX2xpbmUsIiIsQHByb2diaXRzCisrLkxkZWJ1 Z19saW5lMDoKKysJLnRleHQKKysuTHRleHQwOgorKy5nbG9ibCBmb28KKysJLnR5cGUJZm9vLCBA ZnVuY3Rpb24KKytmb286CisrLkxGQjI6CisrCS5maWxlIDEgIng4Nl82NC12bGEtcG9pbnRlci5j IgorKwkubG9jIDEgMjIgMAorKwlwdXNocQklcmJwCisrLkxDRkkwOgorKwltb3ZxCSVyc3AsICVy YnAKKysuTENGSTE6CisrCXN1YnEJJDY0LCAlcnNwCisrLkxDRkkyOgorKwltb3ZsCSVlZGksIC0z NiglcmJwKQorKwkubG9jIDEgMjIgMAorKwltb3ZxCSVyc3AsICVyYXgKKysJbW92cQklcmF4LCAt NDgoJXJicCkKKysJLmxvYyAxIDIzIDAKKysJbW92bAktMzYoJXJicCksICVlZHgKKysJbW92c2xx CSVlZHgsJXJheAorKwlzdWJxCSQxLCAlcmF4CisrCW1vdnEJJXJheCwgLTI0KCVyYnApCisrCS5s b2MgMSAyNCAwCisrCW1vdnNscQklZWR4LCVyYXgKKysJYWRkcQkkMTUsICVyYXgKKysJYWRkcQkk MTUsICVyYXgKKysJc2hycQkkNCwgJXJheAorKwlzYWxxCSQ0LCAlcmF4CisrCXN1YnEJJXJheCwg JXJzcAorKwltb3ZxCSVyc3AsIC01NiglcmJwKQorKwltb3ZxCS01NiglcmJwKSwgJXJheAorKwlh ZGRxCSQxNSwgJXJheAorKwlzaHJxCSQ0LCAlcmF4CisrCXNhbHEJJDQsICVyYXgKKysJbW92cQkl cmF4LCAtNTYoJXJicCkKKysJbW92cQktNTYoJXJicCksICVyYXgKKysJbW92cQklcmF4LCAtMTYo JXJicCkKKysJLmxvYyAxIDI3IDAKKysJbW92bAkkMCwgLTQoJXJicCkKKysJam1wCS5MMgorKy5M MzoKKysJLmxvYyAxIDI4IDAKKysJbW92bAktNCglcmJwKSwgJWVzaQorKwltb3ZsCS00KCVyYnAp LCAlZWF4CisrCW1vdmwJJWVheCwgJWVjeAorKwltb3ZxCS0xNiglcmJwKSwgJXJkeAorKwltb3Zz bHEJJWVzaSwlcmF4CisrCW1vdmIJJWNsLCAoJXJkeCwlcmF4KQorKwkubG9jIDEgMjcgMAorKwlh ZGRsCSQxLCAtNCglcmJwKQorKy5MMjoKKysJbW92bAktNCglcmJwKSwgJWVheAorKwljbXBsCS0z NiglcmJwKSwgJWVheAorKwlqbAkuTDMKKysJLmxvYyAxIDMwIDAKKysJLmdsb2JsCWJyZWFrX2hl cmUKKyticmVha19oZXJlOgorKwltb3ZxCS0xNiglcmJwKSwgJXJheAorKwltb3ZiCSQwLCAoJXJh eCkKKysJbW92cQktNDgoJXJicCksICVyc3AKKysJLmxvYyAxIDMxIDAKKysJbGVhdmUKKysJcmV0 CisrLkxGRTI6CisrCS5zaXplCWZvbywgLi1mb28KKysJLnNlY3Rpb24JLmRlYnVnX2ZyYW1lLCIi LEBwcm9nYml0cworKy5MZnJhbWUwOgorKwkubG9uZwkuTEVDSUUwLS5MU0NJRTAKKysuTFNDSUUw OgorKwkubG9uZwkweGZmZmZmZmZmCisrCS5ieXRlCTB4MQorKwkuc3RyaW5nCSIiCisrCS51bGVi MTI4IDB4MQorKwkuc2xlYjEyOCAtOAorKwkuYnl0ZQkweDEwCisrCS5ieXRlCTB4YworKwkudWxl YjEyOCAweDcKKysJLnVsZWIxMjggMHg4CisrCS5ieXRlCTB4OTAKKysJLnVsZWIxMjggMHgxCisr CS5hbGlnbiA4CisrLkxFQ0lFMDoKKysuTFNGREUwOgorKwkubG9uZwkuTEVGREUwLS5MQVNGREUw CisrLkxBU0ZERTA6CisrCS5sb25nCS5MZnJhbWUwCisrCS5xdWFkCS5MRkIyCisrCS5xdWFkCS5M RkUyLS5MRkIyCisrCS5ieXRlCTB4NAorKwkubG9uZwkuTENGSTAtLkxGQjIKKysJLmJ5dGUJMHhl CisrCS51bGViMTI4IDB4MTAKKysJLmJ5dGUJMHg4NgorKwkudWxlYjEyOCAweDIKKysJLmJ5dGUJ MHg0CisrCS5sb25nCS5MQ0ZJMS0uTENGSTAKKysJLmJ5dGUJMHhkCisrCS51bGViMTI4IDB4Ngor KwkuYWxpZ24gOAorKy5MRUZERTA6CisrCS5zZWN0aW9uCS5laF9mcmFtZSwiYSIsQHByb2diaXRz CisrLkxmcmFtZTE6CisrCS5sb25nCS5MRUNJRTEtLkxTQ0lFMQorKy5MU0NJRTE6CisrCS5sb25n CTB4MAorKwkuYnl0ZQkweDEKKysJLnN0cmluZwkielIiCisrCS51bGViMTI4IDB4MQorKwkuc2xl YjEyOCAtOAorKwkuYnl0ZQkweDEwCisrCS51bGViMTI4IDB4MQorKwkuYnl0ZQkweDMKKysJLmJ5 dGUJMHhjCisrCS51bGViMTI4IDB4NworKwkudWxlYjEyOCAweDgKKysJLmJ5dGUJMHg5MAorKwku dWxlYjEyOCAweDEKKysJLmFsaWduIDgKKysuTEVDSUUxOgorKy5MU0ZERTE6CisrCS5sb25nCS5M RUZERTEtLkxBU0ZERTEKKysuTEFTRkRFMToKKysJLmxvbmcJLkxBU0ZERTEtLkxmcmFtZTEKKysJ LmxvbmcJLkxGQjIKKysJLmxvbmcJLkxGRTItLkxGQjIKKysJLnVsZWIxMjggMHgwCisrCS5ieXRl CTB4NAorKwkubG9uZwkuTENGSTAtLkxGQjIKKysJLmJ5dGUJMHhlCisrCS51bGViMTI4IDB4MTAK KysJLmJ5dGUJMHg4NgorKwkudWxlYjEyOCAweDIKKysJLmJ5dGUJMHg0CisrCS5sb25nCS5MQ0ZJ MS0uTENGSTAKKysJLmJ5dGUJMHhkCisrCS51bGViMTI4IDB4NgorKwkuYWxpZ24gOAorKy5MRUZE RTE6CisrCS50ZXh0CisrLkxldGV4dDA6CisrCS5zZWN0aW9uCS5kZWJ1Z19sb2MsIiIsQHByb2di aXRzCisrLkxkZWJ1Z19sb2MwOgorKy5MTFNUMDoKKysJLnF1YWQJLkxGQjItLkx0ZXh0MAorKwku cXVhZAkuTENGSTAtLkx0ZXh0MAorKwkudmFsdWUJMHgyCisrCS5ieXRlCTB4NzcKKysJLnNsZWIx MjggOAorKwkucXVhZAkuTENGSTAtLkx0ZXh0MAorKwkucXVhZAkuTENGSTEtLkx0ZXh0MAorKwku dmFsdWUJMHgyCisrCS5ieXRlCTB4NzcKKysJLnNsZWIxMjggMTYKKysJLnF1YWQJLkxDRkkxLS5M dGV4dDAKKysJLnF1YWQJLkxGRTItLkx0ZXh0MAorKwkudmFsdWUJMHgyCisrCS5ieXRlCTB4NzYK KysJLnNsZWIxMjggMTYKKysJLnF1YWQJMHgwCisrCS5xdWFkCTB4MAorKwkuc2VjdGlvbgkuZGVi dWdfaW5mbworKy5MZGVidWdfcmVsYXRpdmU6CisrCS5sb25nCS5MZGVidWdfZW5kIC0gLkxkZWJ1 Z19zdGFydAorKy5MZGVidWdfc3RhcnQ6CisrCS52YWx1ZQkweDIKKysJLmxvbmcJLkxkZWJ1Z19h YmJyZXYwCisrCS5ieXRlCTB4OAorKwkudWxlYjEyOCAweDEKKysJLmxvbmcJLkxBU0YyCisrCS5i eXRlCTB4MQorKwkubG9uZwkuTEFTRjMKKysJLmxvbmcJLkxBU0Y0CisrCS5xdWFkCS5MdGV4dDAK KysJLnF1YWQJLkxldGV4dDAKKysJLmxvbmcJLkxkZWJ1Z19saW5lMAorKwkudWxlYjEyOCAweDIK KysJLmJ5dGUJMHgxCisrCS5zdHJpbmcJImZvbyIKKysJLmJ5dGUJMHgxCisrCS5ieXRlCTB4MTYK KysJLmJ5dGUJMHgxCisrCS5xdWFkCS5MRkIyCisrCS5xdWFkCS5MRkUyCisrCS5sb25nCS5MTFNU MAorKwkubG9uZwkuTHR5cGVfaW50IC0gLkxkZWJ1Z19yZWxhdGl2ZQorKwkudWxlYjEyOCAweDMK KysJLmxvbmcJLkxBU0Y1CisrCS5ieXRlCTB4MQorKwkuYnl0ZQkweDE1CisrCS5sb25nCS5MdHlw ZV9pbnQgLSAuTGRlYnVnX3JlbGF0aXZlCisrCS5ieXRlCTB4MgorKwkuYnl0ZQkweDkxCisrCS5z bGViMTI4IC01MgorKy5MdGFnX3BvaW50ZXI6CisrCS51bGViMTI4IDB4NAorKwkuYnl0ZQkweDgJ LyogRFdfQVRfYnl0ZV9zaXplICovCisrCS5sb25nCS5MdGFnX2FycmF5X3R5cGUgLSAuZGVidWdf aW5mbwkvKiBEV19BVF90eXBlICovCisrCS51bGViMTI4IDB4NQkvKiBBYmJyZXYgTnVtYmVyOiA1 IChEV19UQUdfdmFyaWFibGUpICovCisrCS5sb25nCS5MQVNGMAorKwkuYnl0ZQkweDEKKysJLmJ5 dGUJMHgxOAorKyNpZiAxCisrCS5sb25nCS5MdGFnX3BvaW50ZXIgLSAuZGVidWdfaW5mbworKyNl bHNlCisrCS8qIERlYnVnZ2luZyBvbmx5OiBTa2lwIHRoZSB0eXBlZGVmIGluZGlyZWN0aW9uLiAg Ki8KKysJLmxvbmcJLkx0YWdfYXJyYXlfdHlwZSAtIC5kZWJ1Z19pbmZvCisrI2VuZGlmCisrCS8q IERXX0FUX2xvY2F0aW9uOiBEV19GT1JNX2Jsb2NrMTogc3RhcnQgKi8KKysJLmJ5dGUJMHgzCisr CS5ieXRlCTB4OTEKKysJLnNsZWIxMjggLTMyCisrI2lmIDAKKysJLmJ5dGUJMHg2CS8qIERXX09Q X2RlcmVmICovCisrI2Vsc2UKKysJLmJ5dGUJMHg5NgkvKiBEV19PUF9ub3AgKi8KKysjZW5kaWYK KysJLyogRFdfQVRfbG9jYXRpb246IERXX0ZPUk1fYmxvY2sxOiBlbmQgKi8KKysJLnVsZWIxMjgg MHg2CisrCS5zdHJpbmcJImkiCisrCS5ieXRlCTB4MQorKwkuYnl0ZQkweDE5CisrCS5sb25nCS5M dHlwZV9pbnQgLSAuTGRlYnVnX3JlbGF0aXZlCisrCS5ieXRlCTB4MgorKwkuYnl0ZQkweDkxCisr CS5zbGViMTI4IC0yMAorKwkuYnl0ZQkweDAKKysuTHR5cGVfaW50OgorKwkudWxlYjEyOCAweDcK KysJLmJ5dGUJMHg0CisrCS5ieXRlCTB4NQorKwkuc3RyaW5nCSJpbnQiCisrLkx0YWdfYXJyYXlf dHlwZToKKysJLnVsZWIxMjggMHg4CS8qIEFiYnJldiBOdW1iZXI6IDggKERXX1RBR19hcnJheV90 eXBlKSAqLworKwkubG9uZwkuTHR5cGVfY2hhciAtIC5MZGVidWdfcmVsYXRpdmUKKysJLmxvbmcJ Lkx0eXBlX3Vsb25nIC0gLkxkZWJ1Z19yZWxhdGl2ZQkvKiBEV19BVF9zaWJsaW5nOiBEV19GT1JN X3JlZjQgKi8KKysxOgkvKiBEV19BVF9kYXRhX2xvY2F0aW9uOiBEV19GT1JNX2Jsb2NrMTogc3Rh cnQgKi8KKysJLmJ5dGUJMmYgLSAzZgkvKiBsZW5ndGggKi8KKyszOgorKwkuYnl0ZQkweDk3CS8q IERXX09QX3B1c2hfb2JqZWN0X2FkZHJlc3MgKi8KKysjaWYgMQorKwkuYnl0ZQkweDYJLyogRFdf T1BfZGVyZWYgKi8KKysjZWxzZQorKwkuYnl0ZQkweDk2CS8qIERXX09QX25vcCAqLworKyNlbmRp ZgorKzI6CS8qIERXX0FUX2RhdGFfbG9jYXRpb246IERXX0ZPUk1fYmxvY2sxOiBlbmQgKi8KKysJ LnVsZWIxMjggMHg5CisrCS5sb25nCS5MdHlwZV9jaGFyIC0gLkxkZWJ1Z19yZWxhdGl2ZQkvKiBE V19BVF90eXBlOiBEV19GT1JNX3JlZjQgKi8KKysJLmJ5dGUJMHgzCisrCS5ieXRlCTB4OTEKKysJ LnNsZWIxMjggLTQwCisrCS5ieXRlCTB4NgorKwkuYnl0ZQkweDAKKysuTHR5cGVfdWxvbmc6Cisr CS51bGViMTI4IDB4YQorKwkuYnl0ZQkweDgKKysJLmJ5dGUJMHg3CisrLkx0eXBlX2NoYXI6Cisr CS51bGViMTI4IDB4YgorKwkuYnl0ZQkweDEKKysJLmJ5dGUJMHg2CisrCS5sb25nCS5MQVNGMQor KwkuYnl0ZQkweDAKKysuTGRlYnVnX2VuZDoKKysJLnNlY3Rpb24JLmRlYnVnX2FiYnJldgorKwku dWxlYjEyOCAweDEKKysJLnVsZWIxMjggMHgxMQorKwkuYnl0ZQkweDEKKysJLnVsZWIxMjggMHgy NQorKwkudWxlYjEyOCAweGUKKysJLnVsZWIxMjggMHgxMworKwkudWxlYjEyOCAweGIKKysJLnVs ZWIxMjggMHgzCisrCS51bGViMTI4IDB4ZQorKwkudWxlYjEyOCAweDFiCisrCS51bGViMTI4IDB4 ZQorKwkudWxlYjEyOCAweDExCisrCS51bGViMTI4IDB4MQorKwkudWxlYjEyOCAweDEyCisrCS51 bGViMTI4IDB4MQorKwkudWxlYjEyOCAweDEwCisrCS51bGViMTI4IDB4NgorKwkuYnl0ZQkweDAK KysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4MgorKwkudWxlYjEyOCAweDJlCisrCS5ieXRlCTB4 MQorKwkudWxlYjEyOCAweDNmCisrCS51bGViMTI4IDB4YworKwkudWxlYjEyOCAweDMKKysJLnVs ZWIxMjggMHg4CisrCS51bGViMTI4IDB4M2EKKysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4 M2IKKysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4MjcKKysJLnVsZWIxMjggMHhjCisrCS51 bGViMTI4IDB4MTEKKysJLnVsZWIxMjggMHgxCisrCS51bGViMTI4IDB4MTIKKysJLnVsZWIxMjgg MHgxCisrCS51bGViMTI4IDB4NDAKKysJLnVsZWIxMjggMHg2CisrCS51bGViMTI4IDB4MQorKwku dWxlYjEyOCAweDEzCisrCS5ieXRlCTB4MAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHgzCisr CS51bGViMTI4IDB4NQorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHgzCisrCS51bGViMTI4IDB4 ZQorKwkudWxlYjEyOCAweDNhCisrCS51bGViMTI4IDB4YgorKwkudWxlYjEyOCAweDNiCisrCS51 bGViMTI4IDB4YgorKwkudWxlYjEyOCAweDQ5CisrCS51bGViMTI4IDB4MTMKKysJLnVsZWIxMjgg MHgyCisrCS51bGViMTI4IDB4YQorKwkuYnl0ZQkweDAKKysJLmJ5dGUJMHgwCisrCS51bGViMTI4 IDB4NAkvKiAuTHRhZ19wb2ludGVyIGFiYnJldiAqLworKwkudWxlYjEyOCAweDBmCS8qIERXX1RB R19wb2ludGVyX3R5cGUgKi8KKysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4MGIKKysJLnVsZWIx MjggMHhiCisrCS51bGViMTI4IDB4NDkKKysJLnVsZWIxMjggMHgxMworKwkuYnl0ZQkweDAKKysJ LmJ5dGUJMHgwCisrCS51bGViMTI4IDB4NQorKwkudWxlYjEyOCAweDM0CisrCS5ieXRlCTB4MAor KwkudWxlYjEyOCAweDMKKysJLnVsZWIxMjggMHhlCisrCS51bGViMTI4IDB4M2EKKysJLnVsZWIx MjggMHhiCisrCS51bGViMTI4IDB4M2IKKysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4NDkK KysJLnVsZWIxMjggMHgxMworKwkudWxlYjEyOCAweDIKKysJLnVsZWIxMjggMHhhCisrCS5ieXRl CTB4MAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHg2CisrCS51bGViMTI4IDB4MzQKKysJLmJ5 dGUJMHgwCisrCS51bGViMTI4IDB4MworKwkudWxlYjEyOCAweDgKKysJLnVsZWIxMjggMHgzYQor KwkudWxlYjEyOCAweGIKKysJLnVsZWIxMjggMHgzYgorKwkudWxlYjEyOCAweGIKKysJLnVsZWIx MjggMHg0OQorKwkudWxlYjEyOCAweDEzCisrCS51bGViMTI4IDB4MgorKwkudWxlYjEyOCAweGEK KysJLmJ5dGUJMHgwCisrCS5ieXRlCTB4MAorKwkudWxlYjEyOCAweDcKKysJLnVsZWIxMjggMHgy NAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4YgorKwkudWxlYjEy OCAweDNlCisrCS51bGViMTI4IDB4YgorKwkudWxlYjEyOCAweDMKKysJLnVsZWIxMjggMHg4Cisr CS5ieXRlCTB4MAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHg4CS8qIEFiYnJldiBOdW1iZXI6 IDggKERXX1RBR19hcnJheV90eXBlKSAqLworKwkudWxlYjEyOCAweDEKKysJLmJ5dGUJMHgxCisr CS51bGViMTI4IDB4NDkJLyogRFdfQVRfdHlwZSAqLworKwkudWxlYjEyOCAweDEzCS8qIERXX0ZP Uk1fcmVmNCAqLworKwkudWxlYjEyOCAweDEJLyogRFdfQVRfc2libGluZyAqLworKwkudWxlYjEy OCAweDEzCS8qIERXX0ZPUk1fcmVmNCAqLworKwkudWxlYjEyOCAweDUwCS8qIERXX0FUX2RhdGFf bG9jYXRpb24gKi8KKysJLnVsZWIxMjggMHhhCS8qIERXX0ZPUk1fYmxvY2sxICovCisrCS5ieXRl CTB4MAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHg5CisrCS51bGViMTI4IDB4MjEKKysJLmJ5 dGUJMHgwCisrCS51bGViMTI4IDB4NDkJLyogRFdfQVRfdHlwZSAqLworKwkudWxlYjEyOCAweDEz CS8qIERXX0ZPUk1fcmVmNCAqLworKwkudWxlYjEyOCAweDJmCisrCS51bGViMTI4IDB4YQorKwku Ynl0ZQkweDAKKysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4YQorKwkudWxlYjEyOCAweDI0Cisr CS5ieXRlCTB4MAorKwkudWxlYjEyOCAweGIKKysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4 M2UKKysJLnVsZWIxMjggMHhiCisrCS5ieXRlCTB4MAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjgg MHhiCisrCS51bGViMTI4IDB4MjQKKysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4YgorKwkudWxl YjEyOCAweGIKKysJLnVsZWIxMjggMHgzZQorKwkudWxlYjEyOCAweGIKKysJLnVsZWIxMjggMHgz CisrCS51bGViMTI4IDB4ZQorKwkuYnl0ZQkweDAKKysJLmJ5dGUJMHgwCisrCS5ieXRlCTB4MAor Kwkuc2VjdGlvbgkuZGVidWdfcHVibmFtZXMsIiIsQHByb2diaXRzCisrCS5sb25nCTB4MTYKKysJ LnZhbHVlCTB4MgorKwkubG9uZwkuTGRlYnVnX2luZm8wCisrCS5sb25nCTB4YTgKKysJLmxvbmcJ MHgyZAorKwkuc3RyaW5nCSJmb28iCisrCS5sb25nCTB4MAorKwkuc2VjdGlvbgkuZGVidWdfYXJh bmdlcywiIixAcHJvZ2JpdHMKKysJLmxvbmcJMHgyYworKwkudmFsdWUJMHgyCisrCS5sb25nCS5M ZGVidWdfaW5mbzAKKysJLmJ5dGUJMHg4CisrCS5ieXRlCTB4MAorKwkudmFsdWUJMHgwCisrCS52 YWx1ZQkweDAKKysJLnF1YWQJLkx0ZXh0MAorKwkucXVhZAkuTGV0ZXh0MC0uTHRleHQwCisrCS5x dWFkCTB4MAorKwkucXVhZAkweDAKKysJLnNlY3Rpb24JLmRlYnVnX3N0ciwiTVMiLEBwcm9nYml0 cywxCisrLkxBU0YwOgorKwkuc3RyaW5nCSJhcnJheSIKKysuTEFTRjU6CisrCS5zdHJpbmcJInNp emUiCisrLkxBU0YzOgorKwkuc3RyaW5nCSJ4ODZfNjQtdmxhLXBvaW50ZXIuYyIKKysuTEFTRjY6 CisrCS5zdHJpbmcJImFycmF5X3QiCisrLkxBU0YxOgorKwkuc3RyaW5nCSJjaGFyIgorKy5MQVNG NDoKKysJLnN0cmluZwkiZ2RiLmFyY2giCisrLkxBU0YyOgorKwkuc3RyaW5nCSJHTlUgQyA0LjMu MiAyMDA4MTEwNSAoUmVkIEhhdCA0LjMuMi03KSIKKysJLmlkZW50CSJHQ0M6IChHTlUpIDQuMy4y IDIwMDgxMTA1IChSZWQgSGF0IDQuMy4yLTcpIgorKwkuc2VjdGlvbgkubm90ZS5HTlUtc3RhY2ss IiIsQHByb2diaXRzCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZf NjQtdmxhLXBvaW50ZXIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gveDg2XzY0LXZsYS1wb2ludGVyLmMJMjAxNi0xMC0yMCAyMTowMzowOS40ODUyNzE5MjEgKzAy MDAKK0BAIC0wLDAgKzEsNDUgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0 aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAg VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAg Ki8KKysKKysjaWYgMAorKworK3ZvaWQKKytmb28gKGludCBzaXplKQorK3sKKysgIHR5cGVkZWYg Y2hhciBhcnJheV90W3NpemVdOworKyAgYXJyYXlfdCBhcnJheTsKKysgIGludCBpOworKworKyAg Zm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykKKysgICAgYXJyYXlbaV0gPSBpOworKworKyAgYXJy YXlbMF0gPSAwOwkvKiBicmVhay1oZXJlICovCisrfQorKworKyNlbHNlCisrCisrdm9pZCBmb28g KGludCBzaXplKTsKKysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysgIGZvbyAoMjYpOworKyAg Zm9vICg3OCk7CisrICByZXR1cm4gMDsKKyt9CisrCisrI2VuZGlmCitJbmRleDogZ2RiLTcuMTIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysg Z2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwCTIw MTYtMTAtMjAgMjE6MDM6MDkuNDg1MjcxOTIxICswMjAwCitAQCAtMCwwICsxLDY2IEBACisrIyBD b3B5cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysjIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisraWYgIVtpc3RhcmdldCAieDg2XzY0LSotKiJdIHRo ZW4geworKyAgICB2ZXJib3NlICJTa2lwcGluZyBvdmVyIGdkYi5hcmNoL3g4Nl82NC12bGEtcG9p bnRlci5leHAgdGVzdCBtYWRlIG9ubHkgZm9yIHg4Nl82NC4iCisrICAgIHJldHVybgorK30KKysK KytzZXQgdGVzdGZpbGUgeDg2XzY0LXZsYS1wb2ludGVyCisrc2V0IHNyY2FzbWZpbGUgJHt0ZXN0 ZmlsZX0tZm9vLlMKKytzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5jCisrc2V0IGJpbmZpbGUgW3N0 YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9XQorK3NldCBiaW5vYmpmaWxlIFtzdGFuZGFy ZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxlfS1mb28ub10KKytpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7 c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNhc21maWxlfSIgIiR7Ymlub2JqZmlsZX0iIG9iamVjdCB7 fV0gIT0gIiIgfSB7CisrICAgIHVudGVzdGVkICJDb3VsZG4ndCBjb21waWxlIHRlc3QgcHJvZ3Jh bSIKKysgICAgcmV0dXJuIC0xCisrfQorK2lmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7 c3ViZGlyfS8ke3NyY2ZpbGV9ICR7Ymlub2JqZmlsZX0iICIke2JpbmZpbGV9IiBleGVjdXRhYmxl IHtkZWJ1Z31dICE9ICIiIH0geworKyAgICB1bnRlc3RlZCAiQ291bGRuJ3QgY29tcGlsZSB0ZXN0 IHByb2dyYW0iCisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfZXhpdAorK2dkYl9zdGFydAor K2dkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgorK2dkYl9sb2FkICR7YmluZmls ZX0KKysKKytpZiAhW3J1bnRvX21haW5dIHsKKysgICAgdW50ZXN0ZWQgeDg2XzY0LXZsYS1wb2lu dGVyCisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfYnJlYWtwb2ludCAiYnJlYWtfaGVyZSIK KysKKytnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiYnJlYWtfaGVyZSIKKysKKytnZGJfdGVz dCAid2hhdGlzIGFycmF5IiAidHlwZSA9IGNoYXIgXFwoXFwqXFwpXFxcW3ZhcmlhYmxlXFxcXSIg ImZpcnN0OiB3aGF0aXMgYXJyYXkiCisrZ2RiX3Rlc3QgInB0eXBlIGFycmF5IiAidHlwZSA9IGNo YXIgXFwoXFwqXFwpXFxcWzI2XFxcXSIgImZpcnN0OiBwdHlwZSBhcnJheSIKKysKKytnZGJfdGVz dCAid2hhdGlzICphcnJheSIgInR5cGUgPSBjaGFyIFxcXFsyNlxcXF0iICJmaXJzdDogd2hhdGlz ICphcnJheSIKKytnZGJfdGVzdCAicHR5cGUgKmFycmF5IiAidHlwZSA9IGNoYXIgXFxcWzI2XFxc XSIgImZpcnN0OiBwdHlwZSAqYXJyYXkiCisrCisrZ2RiX3Rlc3QgInAgKCphcnJheSlcWzFcXSIg IlxcJFxbMC05XF0gPSAxICdcXFxcMDAxJyIKKytnZGJfdGVzdCAicCAoKmFycmF5KVxbMlxdIiAi XFwkXFswLTlcXSA9IDIgJ1xcXFwwMDInIgorK2dkYl90ZXN0ICJwICgqYXJyYXkpXFszXF0iICJc XCRcWzAtOVxdID0gMyAnXFxcXDAwMyciCisrZ2RiX3Rlc3QgInAgKCphcnJheSlcWzRcXSIgIlxc JFxbMC05XF0gPSA0ICdcXFxcMDA0JyIKKysKKytnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAi YnJlYWtfaGVyZSIKKysKKytnZGJfdGVzdCAid2hhdGlzIGFycmF5IiAidHlwZSA9IGNoYXIgXFwo XFwqXFwpXFxcW3ZhcmlhYmxlXFxcXSIgInNlY29uZDogd2hhdGlzIGFycmF5IgorK2dkYl90ZXN0 ICJwdHlwZSBhcnJheSIgInR5cGUgPSBjaGFyIFxcKFxcKlxcKVxcXFs3OFxcXF0iICJzZWNvbmQ6 IHB0eXBlIGFycmF5IgorKworK2dkYl90ZXN0ICJ3aGF0aXMgKmFycmF5IiAidHlwZSA9IGNoYXIg XFxcWzc4XFxcXSIgInNlY29uZDogd2hhdGlzICphcnJheSIKKytnZGJfdGVzdCAicHR5cGUgKmFy cmF5IiAidHlwZSA9IGNoYXIgXFxcWzc4XFxcXSIgInNlY29uZDogcHR5cGUgKmFycmF5IgorSW5k ZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZv by5TCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxh LXR5cGVkZWYtZm9vLlMJMjAxNi0xMC0yMCAyMTowMzowOS40ODYyNzE5MjkgKzAyMDAKIEBAIC0w LDAgKzEsNDU1IEBACiArCS5maWxlCSJ4ODZfNjQtdmxhLXR5cGVkZWYuYyIKICsJLnNlY3Rpb24J LmRlYnVnX2FiYnJldiwiIixAcHJvZ2JpdHMKQEAgLTQ3NCwxMCArMTA1NywxMCBAQCBJbmRleDog Z2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5 cGVkZWYtZm9vLlMKICsJLnN0cmluZwkiR05VIEMgNC4zLjIgMjAwODExMDUgKFJlZCBIYXQgNC4z LjItNykiCiArCS5pZGVudAkiR0NDOiAoR05VKSA0LjMuMiAyMDA4MTEwNSAoUmVkIEhhdCA0LjMu Mi03KSIKICsJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cwotSW5kZXg6IGdk Yi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBl ZGVmLmMKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEt dHlwZWRlZi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYuYwkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA1ODc4OTA1 OCArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10 eXBlZGVmLmMJMjAxNi0xMC0yMCAyMTowMzowOS40ODYyNzE5MjkgKzAyMDAKIEBAIC0wLDAgKzEs NDUgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2Vy LgogKwpAQCAtNTI0LDEwICsxMTA3LDEwIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5jCiArfQogKwogKyNlbmRp ZgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2 XzY0LXZsYS10eXBlZGVmLmV4cAorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3 L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAkyMDE2LTA4LTI1 IDE4OjQ0OjQyLjA1ODc4OTA1OCArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAkyMDE2LTEwLTIwIDIxOjAzOjA5LjQ4NjI3MTky OSArMDIwMAogQEAgLTAsMCArMSw2NCBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC01OTMsMTAgKzExNzYsMTAgQEAgSW5kZXg6IGdkYi03 LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVm LmV4cAogK2dkYl90ZXN0ICJ3aGF0aXMgYXJyYXkiICJ0eXBlID0gYXJyYXlfdCIgInNlY29uZDog d2hhdGlzIGFycmF5IgogKwogK2dkYl90ZXN0ICJwdHlwZSBhcnJheSIgInR5cGUgPSBjaGFyIFxc XFs3OFxcXF0iICJzZWNvbmQ6IHB0eXBlIGFycmF5IgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYw ODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYworSW5kZXg6IGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEx LjkwLjIwMTYwODA3Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCTIwMTYt MDgtMDcgMDQ6MDA6MDEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDU4 Nzg5MDU4ICswMjAwCistLS0gZ2RiLTcuMTIub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fy cmF5aWR4LmMJMjAxNi0xMC0yMCAyMTowMjozMC45NDE5NzA1NTYgKzAyMDAKKysrKyBnZGItNy4x Mi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMJMjAxNi0xMC0yMCAyMTowMzowOS40 ODYyNzE5MjkgKzAyMDAKIEBAIC0xNyw2ICsxNywxMyBAQAogIAogIGludCBhcnJheVtdID0gezEs IDIsIDMsIDR9OwpAQCAtNjExLDEwICsxMTk0LDEwIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2 MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMKICBpbnQKICBtYWluICh2b2lk KQogIHsKLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2FycmF5aWR4LmV4cAorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJy YXlpZHguZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA4MDcub3JpZy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDE2LTA4LTA3IDA0OjAwOjAxLjAwMDAw MDAwMCArMDIwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXJyYXlpZHguZXhwCTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDU5Nzg5MDY3ICswMjAwCistLS0g Z2RiLTcuMTIub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDE2LTEw LTIwIDIxOjAyOjMwLjk0MTk3MDU1NiArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYXJyYXlpZHguZXhwCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg2MjcxOTI5ICswMjAw CiBAQCAtNDksNCArNDksMTIgQEAKICAgICAgICAgICAiXFx7XFxcWzBcXFxdID0gMSwgXFxcWzFc XFxdID0gMiwgXFxcWzJcXFxdID0gMywgXFxcWzNcXFxdID0gNFxcfSIgXAogICAgICAgICAgICJQ cmludCBhcnJheSB3aXRoIGFycmF5LWluZGV4ZXMgb24iCkBAIC02MjksMTAgKzEyMTIsMTAgQEAg SW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlp ZHguZXhwCiArCXVuc3VwcG9ydGVkICIkdGVzdCAobm8gR0NDKSIKICsgICAgfQogK30KLUluZGV4 OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZh ci1maWVsZC1hZGRyZXNzLmMKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2 MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMJ MjAxNi0wOC0yNSAxODo0NDo0Mi4wNTk3ODkwNjcgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMJMjAxNi0xMC0yMCAy MTowMzowOS40ODYyNzE5MjkgKzAyMDAKIEBAIC0wLDAgKzEsMjAgQEAKICsvKiBUaGlzIHRlc3Rj YXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNjU0LDEwICsxMjM3 LDEwIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKICtzdHJ1Y3QgewogKyAgaW50IGZpZWxkOwog K30gc3RhdGljc3RydWN0ID0geyAxIH07Ci1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKK0luZGV4 OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRy ZXNzLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuZXhwCTIwMTYtMDgtMjUgMTg6NDQ6NDIu MDU5Nzg5MDY3ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRl cm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40ODYyNzE5Mjkg KzAyMDAKIEBAIC0wLDAgKzEsMjYgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwpAQCAtNjg1LDEwICsxMjY4LDEwIEBAIEluZGV4OiBnZGItNy4x MS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1h ZGRyZXNzLmV4CiArCiArZ2RiX3Rlc3Qge3NldCAkdmFyc3RydWN0ID0gc3RhdGljc3RydWN0fQog K2dkYl90ZXN0IHtwICR2YXJzdHJ1Y3QuZmllbGR9ICIgPSAxIgotSW5kZXg6IGdkYi03LjExLjkw LjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmMKK0luZGV4OiBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1mcmFtZS5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtZnJhbWUuYwkyMDE2LTA4 LTI1IDE4OjQ0OjQyLjA1OTc4OTA2NyArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLWZyYW1lLmMJMjAxNi0xMC0yMCAyMTowMzowOS40ODcyNzE5MzYgKzAyMDAK IEBAIC0wLDAgKzEsMzEgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgogKwpAQCAtNzIxLDEwICsxMzA0LDEwIEBAIEluZGV4OiBnZGItNy4xMS45 MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1mcmFtZS5jCiArICBmIChzKTsK ICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3ZsYS1mcmFtZS5leHAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL3ZsYS1mcmFtZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1mcmFtZS5leHAJMjAxNi0wOC0yNSAxODo0NDo0Mi4w NTk3ODkwNjcgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1m cmFtZS5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40ODcyNzE5MzYgKzAyMDAKIEBAIC0wLDAgKzEs MzggQEAKICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KyMKQEAgLTc2NCwxMCArMTM0NywxMCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtZnJhbWUuZXhwCiArfQogKwogK2dkYl90ZXN0ICJidCBm dWxsIiAiXHJcbiArcyA9IFwiWFxcXFwwMDBcIlxyXG4uKiIKLUluZGV4OiBnZGItNy4xMS45MC4y MDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5jCitJbmRleDogZ2Ri LTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMJ MjAxNi0wOC0yNSAxODo0NDo0Mi4wNTk3ODkwNjcgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5jCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg3Mjcx OTM2ICswMjAwCiBAQCAtMCwwICsxLDMwIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9m IEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTc5OSwxMCArMTM4MiwxMCBAQCBJbmRleDog Z2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cu YwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAorSW5kZXg6IGdkYi03LjEyL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkw LjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAkyMDE2LTA4 LTI1IDE4OjQ0OjQyLjA1OTc4OTA2NyArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAkyMDE2LTEwLTIwIDIxOjAzOjA5LjQ4NzI3MTkzNiAr MDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwpAQCAtOTEzLDEwICsxNDk2LDEwIEBAIEluZGV4OiBnZGItNy4x MS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5leHAKICtn ZGJfdGVzdCAiYnQiICJpbiBcW14gXF0qYWJvcnQgXFwoLiogaW4gbWFpbiBcXCguKiIgIkJhY2t0 cmFjZSBhZnRlciBhYm9ydCgpIgogKwogK3ZlcmJvc2UgLWxvZyAia2JfZm91bmQgaW4gYnQgYWZ0 ZXIgYWJvcnQoKSA9IFtleHByIFttZW1vcnlfdl9wYWdlc19nZXRdICogJHBhZ2VzaXplIC8gMTAy NF0iCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92 bGEuYworSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5jCTIw MTYtMDgtMjUgMTg6NDQ6NDIuMDU5Nzg5MDY3ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS92bGEuYwkyMDE2LTEwLTIwIDIxOjAzOjA5LjQ4NzI3MTkzNiArMDIwMAog QEAgLTAsMCArMSw1NSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCiArCkBAIC05NzMsMTAgKzE1NTYsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkw LjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKICsgIGZvbyAoNzgpOwogKyAg cmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLmV4cAorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv dmxhLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvdmxhLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA1OTc4OTA2NyArMDIwMAorKysrIGdk Yi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cAkyMDE2LTEwLTIwIDIxOjAzOjA5 LjQ4NzI3MTkzNiArMDIwMAogQEAgLTAsMCArMSw2MiBAQAogKyMgQ29weXJpZ2h0IDIwMDggRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMDQwLDEwICsxNjIzLDM4MiBAQCBJ bmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhw CiArZ2RiX3Rlc3QgInAgdGVtcDEiICIgPSAnMScgPHJlcGVhdHMgNzggdGltZXM+IiAic2Vjb25k OiBwcmludCB0ZW1wMSIKICtnZGJfdGVzdCAicCB0ZW1wMiIgIiA9ICcyJyA8cmVwZWF0cyA3OCB0 aW1lcz4iICJzZWNvbmQ6IHByaW50IHRlbXAyIgogK2dkYl90ZXN0ICJwIHRlbXAzIiAiID0gJzMn IDxyZXBlYXRzIDQ4IHRpbWVzPiIgInNlY29uZDogcHJpbnQgdGVtcDMiCi1JbmRleDogZ2RiLTcu MTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0 LlMKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGI5NTkzLmNjCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw CisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5jYwkyMDE2LTEwLTIw IDIxOjAzOjA5LjQ4NzI3MTkzNiArMDIwMAorQEAgLTAsMCArMSwxODAgQEAKKysvKiBUaGlzIHRl c3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdo dCAyMDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysg ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyAgICovCisrI2luY2x1ZGUgPGlvc3RyZWFt PgorKworK3VzaW5nIG5hbWVzcGFjZSBzdGQ7CisrCisrY2xhc3MgTmV4dE92ZXJUaHJvd0Rlcml2 YXRlcworK3sKKysKKytwdWJsaWM6CisrCisrCisrICAvLyBTaW5nbGUgdGhyb3cgYW4gZXhjZXB0 aW9uIGluIHRoaXMgZnVuY3Rpb24uCisrICB2b2lkIGZ1bmN0aW9uMSgpIAorKyAgeworKyAgICB0 aHJvdyAyMDsKKysgIH0KKysKKysgIC8vIFRocm93IGFuIGV4Y2VwdGlvbiBpbiBhbm90aGVyIGZ1 bmN0aW9uLgorKyAgdm9pZCBmdW5jdGlvbjIoKSAKKysgIHsKKysgICAgZnVuY3Rpb24xKCk7Cisr ICB9CisrCisrICAvLyBUaHJvdyBhbiBleGNlcHRpb24gaW4gYW5vdGhlciBmdW5jdGlvbiwgYnV0 IGhhbmRsZSBpdAorKyAgLy8gbG9jYWxseS4KKysgIHZvaWQgZnVuY3Rpb24zICgpIAorKyAgewor KyAgICB7CisrICAgICAgdHJ5CisrCXsKKysJICBmdW5jdGlvbjEgKCk7CisrCX0KKysgICAgICBj YXRjaCAoLi4uKSAKKysJeworKwkgIGNvdXQgPDwgIkNhdWdodCBhbmQgaGFuZGxlZCBmdW5jdGlv bjEgZXhjZXB0aW9uIiA8PCBlbmRsOworKwl9CisrICAgIH0KKysgIH0KKysKKysgIHZvaWQgcmV0 aHJvdyAoKQorKyAgeworKyAgICB0cnkKKysgICAgICB7CisrCWZ1bmN0aW9uMSAoKTsKKysgICAg ICB9CisrICAgIGNhdGNoICguLi4pCisrICAgICAgeworKwl0aHJvdzsKKysgICAgICB9CisrICB9 CisrCisrICB2b2lkIGZpbmlzaCAoKQorKyAgeworKyAgICAvLyBXZSB1c2UgdGhpcyB0byB0ZXN0 IHRoYXQgYSAiZmluaXNoIiBoZXJlIGRvZXMgbm90IGVuZCB1cCBpbgorKyAgICAvLyB0aGlzIGZy YW1lLCBidXQgaW4gdGhlIG9uZSBhYm92ZS4KKysgICAgdHJ5CisrICAgICAgeworKwlmdW5jdGlv bjEgKCk7CisrICAgICAgfQorKyAgICBjYXRjaCAoaW50IHgpCisrICAgICAgeworKyAgICAgIH0K KysgICAgZnVuY3Rpb24xICgpOwkJLy8gbWFya2VyIGZvciB1bnRpbAorKyAgfQorKworKyAgdm9p ZCB1bnRpbCAoKQorKyAgeworKyAgICBmdW5jdGlvbjEgKCk7CisrICAgIGZ1bmN0aW9uMSAoKTsJ CS8vIHVudGlsIGhlcmUKKysgIH0KKysKKyt9OworK05leHRPdmVyVGhyb3dEZXJpdmF0ZXMgbmV4 dF9jYXNlczsKKysKKysKKytpbnQgbWFpbiAoKSAKKyt7IAorKyAgdHJ5CisrICAgIHsKKysgICAg ICBuZXh0X2Nhc2VzLmZ1bmN0aW9uMSAoKTsKKysgICAgfQorKyAgY2F0Y2ggKC4uLikKKysgICAg eworKyAgICAgIC8vIERpc2NhcmQKKysgICAgfQorKworKyAgdHJ5CisrICAgIHsKKysgICAgICBu ZXh0X2Nhc2VzLmZ1bmN0aW9uMiAoKTsKKysgICAgfQorKyAgY2F0Y2ggKC4uLikKKysgICAgewor KyAgICAgIC8vIERpc2NhcmQKKysgICAgfQorKworKyAgdHJ5CisrICAgIHsKKysgICAgICAvLyBU aGlzIGlzIGR1cGxpY2F0ZWQgc28gd2UgY2FuIG5leHQgb3ZlciBvbmUgYnV0IHN0ZXAgaW50bwor KyAgICAgIC8vIGFub3RoZXIuCisrICAgICAgbmV4dF9jYXNlcy5mdW5jdGlvbjIgKCk7CisrICAg IH0KKysgIGNhdGNoICguLi4pCisrICAgIHsKKysgICAgICAvLyBEaXNjYXJkCisrICAgIH0KKysK KysgIG5leHRfY2FzZXMuZnVuY3Rpb24zICgpOworKworKyAgdHJ5CisrICAgIHsKKysgICAgICBu ZXh0X2Nhc2VzLnJldGhyb3cgKCk7CisrICAgIH0KKysgIGNhdGNoICguLi4pCisrICAgIHsKKysg ICAgICAvLyBEaXNjYXJkCisrICAgIH0KKysKKysgIHRyeQorKyAgICB7CisrICAgICAgLy8gQW5v dGhlciBkdXBsaWNhdGUgc28gd2UgY2FuIHRlc3QgImZpbmlzaCIuCisrICAgICAgbmV4dF9jYXNl cy5mdW5jdGlvbjIgKCk7CisrICAgIH0KKysgIGNhdGNoICguLi4pCisrICAgIHsKKysgICAgICAv LyBEaXNjYXJkCisrICAgIH0KKysKKysgIC8vIEFub3RoZXIgdGVzdCBmb3IgImZpbmlzaCIuCisr ICB0cnkKKysgICAgeworKyAgICAgIG5leHRfY2FzZXMuZmluaXNoICgpOworKyAgICB9CisrICBj YXRjaCAoLi4uKQorKyAgICB7CisrICAgIH0KKysKKysgIC8vIFRlc3Qgb2YgInVudGlsIi4KKysg IHRyeQorKyAgICB7CisrICAgICAgbmV4dF9jYXNlcy5maW5pc2ggKCk7CisrICAgIH0KKysgIGNh dGNoICguLi4pCisrICAgIHsKKysgICAgfQorKworKyAgLy8gVGVzdCBvZiAidW50aWwiIHdpdGgg YW4gYXJndW1lbnQuCisrICB0cnkKKysgICAgeworKyAgICAgIG5leHRfY2FzZXMudW50aWwgKCk7 CisrICAgIH0KKysgIGNhdGNoICguLi4pCisrICAgIHsKKysgICAgfQorKworKyAgLy8gVGVzdCBv ZiAiYWR2YW5jZSIuCisrICB0cnkKKysgICAgeworKyAgICAgIG5leHRfY2FzZXMudW50aWwgKCk7 CisrICAgIH0KKysgIGNhdGNoICguLi4pCisrICAgIHsKKysgICAgfQorK30KKysKK0luZGV4OiBn ZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGI5NTkzLmV4cAorPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03 LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYjk1OTMuZXhwCTIwMTYtMTAtMjAgMjE6MTA6NDgu MTI4ODQ4MTQyICswMjAwCitAQCAtMCwwICsxLDE4MiBAQAorKyMgQ29weXJpZ2h0IDIwMDgsIDIw MDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorKworKworK2lmICR0cmFjZWxldmVsIHRoZW4geworKyAgICBzdHJhY2UgJHRy YWNlbGV2ZWwKKyt9CisrCisraWYgeyBbc2tpcF9jcGx1c190ZXN0c10gfSB7IGNvbnRpbnVlIH0K KysKKytzZXQgdGVzdGZpbGUgImdkYjk1OTMiCisrc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uY2MK KytzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHRlc3RmaWxlXQorKworKyMgQ3Jl YXRlIGFuZCBzb3VyY2UgdGhlIGZpbGUgdGhhdCBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0 aGUgY29tcGlsZXIKKysjIHVzZWQgdG8gY29tcGlsZSB0aGUgdGVzdCBjYXNlLgorK2lmIFtnZXRf Y29tcGlsZXJfaW5mbyAiYysrIl0geworKyAgICB1bnRlc3RlZCBnZGI5NTkzLmV4cAorKyAgICBy ZXR1cm4gLTEKKyt9CisrCisraWYgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0v JHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVnIGMrK31dICE9ICIiIH0g eworKyAgICB1bnRlc3RlZCBnZGI5NTkzLmV4cAorKyAgICByZXR1cm4gLTEKKyt9CisrCisrIyBT b21lIHRhcmdldHMgY2FuJ3QgZG8gZnVuY3Rpb24gY2FsbHMsIHNvIGRvbid0IGV2ZW4gYm90aGVy IHdpdGggdGhpcworKyMgdGVzdC4KKytpZiBbdGFyZ2V0X2luZm8gZXhpc3RzIGdkYixjYW5ub3Rf Y2FsbF9mdW5jdGlvbnNdIHsKKysgICAgc2V0dXBfeGZhaWwgIiotKi0qIiA5NTkzCisrICAgIGZh aWwgIlRoaXMgdGFyZ2V0IGNhbiBub3QgY2FsbCBmdW5jdGlvbnMiCisrICAgIGNvbnRpbnVlCisr fQorKworK2dkYl9leGl0CisrZ2RiX3N0YXJ0CisrZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rp ci8kc3ViZGlyCisrZ2RiX2xvYWQgJHtiaW5maWxlfQorKworK2lmICFbcnVudG9fbWFpbl0gdGhl biB7CisrICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIG1haW4iCisrICAgIGNvbnRpbnVlCisr fSAKKysKKysjIFNlZSB3aGV0aGVyIHdlIGhhdmUgdGhlIG5lZWRlZCB1bndpbmRlciBob29rcy4K KytzZXQgb2sgMQorK2dkYl90ZXN0X211bHRpcGxlICJwcmludCBfVW53aW5kX0RlYnVnSG9vayIg ImNoZWNrIGZvciB1bndpbmRlciBob29rIiB7CisrICAgIC1yZSAiPSAuKl9VbndpbmRfRGVidWdI b29rLipcclxuJGdkYl9wcm9tcHQgJCIgeworKwlwYXNzICJjaGVjayBmb3IgdW53aW5kZXIgaG9v ayIKKysgICAgfQorKyAgICAtcmUgIk5vIHN5bWJvbCAuKiBpbiBjdXJyZW50IGNvbnRleHQuXHJc biRnZGJfcHJvbXB0ICQiIHsKKysJIyBQYXNzIHRoZSB0ZXN0IHNvIHdlIGRvbid0IGdldCBib2d1 cyBmYWlscyBpbiB0aGUgcmVzdWx0cy4KKysJcGFzcyAiY2hlY2sgZm9yIHVud2luZGVyIGhvb2si CisrCXNldCBvayAwCisrICAgIH0KKyt9CisraWYgeyEkb2t9IHsKKysgICAgdW50ZXN0ZWQgZ2Ri OTU5My5leHAKKysgICAgcmV0dXJuIC0xCisrfQorKworKyMgU2VlIGh0dHA6Ly9zb3VyY2V3YXJl Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTU5MworKworK2dkYl90ZXN0ICJuZXh0IiBc CisrICAgICIuKmNhdGNoICguLi4pLioiIFwKKysgICAgIm5leHQgb3ZlciBhIHRocm93IDEiCisr CisrZ2RiX3Rlc3QgIm5leHQiIFwKKysgICIuKm5leHRfY2FzZXMuZnVuY3Rpb24yLioiIFwKKysg ICJuZXh0IHBhc3QgY2F0Y2ggMSIKKysKKytnZGJfdGVzdCAibmV4dCIgXAorKyAgICAiLipjYXRj aCAoLi4uKS4qIiBcCisrICAgICJuZXh0IG92ZXIgYSB0aHJvdyAyIgorKworK2dkYl90ZXN0ICJu ZXh0IiBcCisrICAiLipuZXh0X2Nhc2VzLmZ1bmN0aW9uMi4qIiBcCisrICAibmV4dCBwYXN0IGNh dGNoIDIiCisrCisrZ2RiX3Rlc3QgInN0ZXAiIFwKKysgICIuKmZ1bmN0aW9uMSgpLioiIFwKKysg ICJzdGVwIGludG8gZnVuY3Rpb24yIDEiCisrCisrZ2RiX3Rlc3QgIm5leHQiIFwKKysgICAgIi4q Y2F0Y2ggKC4uLikuKiIgXAorKyAgICAibmV4dCBvdmVyIGEgdGhyb3cgMyIKKysKKytnZGJfdGVz dCAibmV4dCIgXAorKyAgIi4qbmV4dF9jYXNlcy5mdW5jdGlvbjMuKiIgXAorKyAgIm5leHQgcGFz dCBjYXRjaCAzIgorKworK2dkYl90ZXN0ICJuZXh0IiBcCisrICAiLipuZXh0X2Nhc2VzLnJldGhy b3cuKiIgXAorKyAgICAibmV4dCBvdmVyIGEgdGhyb3cgNCIKKysKKytnZGJfdGVzdCAibmV4dCIg XAorKyAgIi4qY2F0Y2ggKC4uLikuKiIgXAorKyAgIm5leHQgb3ZlciBhIHJldGhyb3ciCisrCisr Z2RiX3Rlc3QgIm5leHQiIFwKKysgICIuKm5leHRfY2FzZXMuZnVuY3Rpb24yLioiIFwKKysgICJu ZXh0IGFmdGVyIGEgcmV0aHJvdyIKKysKKytnZGJfdGVzdCAic3RlcCIgXAorKyAgIi4qZnVuY3Rp b24xKCkuKiIgXAorKyAgInN0ZXAgaW50byBmdW5jdGlvbjIgMiIKKysKKytnZGJfdGVzdCAiZmlu aXNoIiBcCisrICAiLipjYXRjaCAoLi4uKS4qIiBcCisrICAiZmluaXNoIDEiCisrCisrZ2RiX3Rl c3QgIm5leHQiIFwKKysgICIuKm5leHRfY2FzZXMuZmluaXNoICgpLioiIFwKKysgICJuZXh0IHBh c3QgY2F0Y2ggNCIKKysKKytnZGJfdGVzdCAic3RlcCIgXAorKyAgIi4qZnVuY3Rpb24xICgpLioi IFwKKysgICJzdGVwIGludG8gZmluaXNoIG1ldGhvZCIKKysKKytnZGJfdGVzdCAiZmluaXNoIiBc CisrICAiLipjYXRjaCAoLi4uKS4qIiBcCisrICAiZmluaXNoIDIiCisrCisrZ2RiX3Rlc3QgIm5l eHQiIFwKKysgICIuKm5leHRfY2FzZXMuZmluaXNoICgpLioiIFwKKysgICJuZXh0IHBhc3QgY2F0 Y2ggNSIKKysKKytnZGJfdGVzdCAic3RlcCIgXAorKyAgIi4qZnVuY3Rpb24xICgpLioiIFwKKysg ICJzdGVwIGludG8gZmluaXNoLCBmb3IgdW50aWwiCisrCisrZ2RiX3Rlc3QgInVudGlsIiBcCisr ICAiLipmdW5jdGlvbjEgKCkuKiIgXAorKyAgInVudGlsIHdpdGggbm8gYXJndW1lbnQgMSIKKysK KytzZXQgbGluZSBbZ2RiX2dldF9saW5lX251bWJlciAibWFya2VyIGZvciB1bnRpbCIgJHRlc3Rm aWxlLmNjXQorKworK2dkYl90ZXN0ICJ1bnRpbCAkbGluZSIgXAorKyAgIi4qZnVuY3Rpb24xICgp LioiIFwKKysgICJuZXh0IHBhc3QgY2F0Y2ggNiIKKysKKytnZGJfdGVzdCAidW50aWwiIFwKKysg ICIuKmNhdGNoICguLi4pLioiIFwKKysgICJ1bnRpbCB3aXRoIG5vIGFyZ3VtZW50IDIiCisrCisr c2V0IGxpbmUgW2dkYl9nZXRfbGluZV9udW1iZXIgInVudGlsIGhlcmUiICR0ZXN0ZmlsZS5jY10K KysKKytnZGJfdGVzdCAibmV4dCIgXAorKyAgIi4qbmV4dF9jYXNlcy51bnRpbCAoKS4qIiBcCisr ICAibmV4dCBwYXN0IGNhdGNoIDYiCisrCisrZ2RiX3Rlc3QgInN0ZXAiIFwKKysgICIuKmZ1bmN0 aW9uMSAoKS4qIiBcCisrICAic3RlcCBpbnRvIHVudGlsIgorKworK2dkYl90ZXN0ICJ1bnRpbCAk bGluZSIgXAorKyAgIi4qY2F0Y2ggKC4uLikuKiIgXAorKyAgInVudGlsLW92ZXItdGhyb3ciCisr CisrZ2RiX3Rlc3QgIm5leHQiIFwKKysgICIuKm5leHRfY2FzZXMudW50aWwgKCkuKiIgXAorKyAg Im5leHQgcGFzdCBjYXRjaCA3IgorKworK2dkYl90ZXN0ICJzdGVwIiBcCisrICAiLipmdW5jdGlv bjEgKCkuKiIgXAorKyAgInN0ZXAgaW50byB1bnRpbCwgZm9yIGFkdmFuY2UiCisrCisrZ2RiX3Rl c3QgImFkdmFuY2UgJGxpbmUiIFwKKysgICIuKmNhdGNoICguLi4pLioiIFwKKysgICJhZHZhbmNl LW92ZXItdGhyb3ciCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1ib3VuZC1sb2NsaXN0LlMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwkyMDE2LTA4LTI1IDE4OjQ0OjQy LjA2MDc4OTA3NiArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItYm91bmQtbG9jbGlzdC5TCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg4MjcxOTQ0ICswMjAwCiBA QCAtMCwwICsxLDI0NiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCiArCkBAIC0xMjkxLDEwICsyMjQ2LDEwIEBAIEluZGV4OiBnZGItNy4xMS45 MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwog Kwkuc3RyaW5nCQkiY2hhciIKICsuTHVpbnRfc3RyOgogKwkuc3RyaW5nCQkidW5zaWduZWQgaW50 IgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItYm91bmQtbG9jbGlzdC5leHAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4 MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAkyMDE2LTA4 LTI1IDE4OjQ0OjQyLjA2MDc4OTA3NiArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40ODgy NzE5NDQgKzAyMDAKIEBAIC0wLDAgKzEsNjYgQEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTM2MiwxMCArMjMxNywxMCBAQCBJbmRleDog Z2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1s b2NsaXN0LmV4cAogKwogKyMgVGhlIHJlZ2lzdGVyIGNvbnRhaW5zIHVucHJlZGljdGFibGUgdmFs dWUgLSB0aGUgYXJyYXkgc2l6ZS4KICtnZGJfdGVzdCAicHR5cGUgcmVnX3N0cmluZyIge3R5cGUg PSBjaGFyIFxbLT9bMC05XStcXX0KLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4y MDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMJMjAxNi0wOC0y NSAxODo0NDo0Mi4wNjA3ODkwNzYgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMJMjAxNi0xMC0yMCAyMTowMzowOS40ODgyNzE5NDQgKzAy MDAKIEBAIC0wLDAgKzEsNDIgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0 aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTQwOSwxMCArMjM2NCwxMCBAQCBJbmRleDogZ2RiLTcu MTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCiAr ICBmdW5jMSAoMSwgMik7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMTEuOTAuMjAx NjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKK0luZGV4OiBn ZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmV4cAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3Ry aXBwZWQuZXhwCTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDYwNzg5MDc2ICswMjAwCisrKysgZ2RiLTcu MTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAJMjAxNi0xMC0yMCAy MTowMzowOS40ODkyNzE5NTIgKzAyMDAKIEBAIC0wLDAgKzEsNzkgQEAKICsjIENvcHlyaWdodCAy MDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTQ5MywxMCArMjQ0OCwx MCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1zdHJpcHBlZC5leHAKICtnZGJfdGVzdCAic3RlcCIgXAogKyAgICAgICAgICJmdW5jLiog XFwoLipcXCkgYXQgLioiIFwKICsgICAgICAgICAic3RlcCIKLUluZGV4OiBnZGItNy4xMS45MC4y MDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1s b2NhdGlvbi5TCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1z dHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uUwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYw ODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0 aW9uLlMJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNjA3ODkwNzYgKzAyMDAKKysrKyBnZGItNy4xMi9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5T CTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg5MjcxOTUyICswMjAwCiBAQCAtMCwwICsxLDgzIEBACiAr LyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAg LTE1ODEsMTAgKzI1MzYsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0 c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2EKICsKICsJLmJ5dGUJ CTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KICsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8K LUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNjA3 ODkwNzYgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0 cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40ODkyNzE5 NTIgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTYyMywxMCArMjU3OCwxMCBAQCBJbmRleDogZ2Ri LTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVt YmVyLWRhdGEtbG9jYQogK2NsZWFuX3Jlc3RhcnQgJGJpbmZpbGUKICsKICtnZGJfdGVzdCAicHR5 cGUgc3RydWN0IHNvbWVfc3RydWN0IiAidHlwZSA9IHN0cnVjdCBzb21lX3N0cnVjdCB7XFtcclxu IFx0XF0qdm9pZCBmaWVsZDtcW1xyXG4gXHRcXSp9IgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYw ODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlwZS5TCitJbmRl eDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdWJyYW5nZS1uby10eXBl LlMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2Fy ZjIvZHcyLXN1YnJhbmdlLW5vLXR5cGUuUwkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2MDc4OTA3NiAr MDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Ut bm8tdHlwZS5TCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg5MjcxOTUyICswMjAwCiBAQCAtMCwwICsx LDEyMSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdn ZXIuCiArCkBAIC0xNzQ5LDEwICsyNzA0LDEwIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgw Ny9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdlLW5vLXR5cGUuUwogKwkuYnl0 ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwogKwogKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRv ciAqLwotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItc3VicmFuZ2Utbm8tdHlwZS5leHAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdlLW5vLXR5cGUuZXhwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEu OTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdWJyYW5nZS1uby10eXBl LmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2MDc4OTA3NiArMDIwMAorKysrIGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlwZS5leHAJMjAxNi0xMC0y MCAyMTowMzowOS40ODkyNzE5NTIgKzAyMDAKIEBAIC0wLDAgKzEsMzkgQEAKICsjIENvcHlyaWdo dCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTc5MywxMCArMjc0 OCwxMCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1zdWJyYW5nZS1uby10eXBlLmV4cAogKwogK2dkYl90ZXN0ICJwdHlwZSBub3R5cGVf c3RyaW5nIiB7dHlwZSA9IGNoYXIgXFsxMjlcXX0KICtnZGJfdGVzdCAicCBub3R5cGVfc3RyaW5n IiAiID0gJ3gnIDxyZXBlYXRzIDEyOSB0aW1lcz4iCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4 MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZXhwCitJbmRleDogZ2Ri LTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZXhwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1z dHJpZGUuZXhwCTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDYxNzg5MDg2ICswMjAwCisrKysgZ2RiLTcu MTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZXhwCTIwMTYtMTAtMjAg MjE6MDM6MDkuNDg5MjcxOTUyICswMjAwCiBAQCAtMCwwICsxLDQyIEBACiArIyBDb3B5cmlnaHQg MjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE4NDAsMTAgKzI3OTUs MTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZHdhcmYtc3RyaWRlLmV4cAogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJicmVhay1o ZXJlIiAiLipicmVhay1oZXJlLioiCiArZ2RiX3Rlc3QgInAgYzQwcHQoMSkiICIgPSAnMC1oZWxs by4qIgogK2dkYl90ZXN0ICJwIGM0MHB0KDIpIiAiID0gJzEtaGVsbG8uKiIKLUluZGV4OiBnZGIt Ny4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5m OTAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlk ZS5mOTAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R3YXJmLXN0cmlkZS5mOTAJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNjE3ODkwODYgKzAy MDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5m OTAJMjAxNi0xMC0yMCAyMTowMzowOS40ODkyNzE5NTIgKzAyMDAKIEBAIC0wLDAgKzEsNDAgQEAK ICshIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAg LTE4ODUsMTAgKzI4NDAsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAogKyAgcHJpbnQgKiwgYzQwcHQgICEg YnJlYWstaGVyZQogKwogK2VuZCBwcm9ncmFtIHJlcHJvCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAx NjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmV4cAorSW5kZXg6IGdkYi03 LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5leHAKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCTIw MTYtMDgtMjUgMTg6NTQ6MjUuOTU3MjU4MDI0ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmV4cAkyMDE2LTEwLTIwIDIxOjAzOjA5LjQ5MDI3MTk2 MCArMDIwMAogQEAgLTAsMCArMSwxNTQgQEAKICsjIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMjA0NCwxMCArMjk5OSwxMCBAQCBJbmRleDogZ2Ri LTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmV4cAog K2dkYl90ZXN0ICJwIHZhcnQoMyw4KSIgIlxcJFxbMC05XF0qID0gOSIKICsjIG1hcHMgdG8gZm9v Ojp2YXJ5KDEsMykKICtnZGJfdGVzdCAicCB2YXJ0KDIsOSkiICJcXCRcWzAtOVxdKiA9IDEwIgot SW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHlu YW1pYy5mOTAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFt aWMuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9keW5hbWljLmY5MAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2MTc4OTA4NiArMDIwMAor KysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAJMjAxNi0x MC0yMCAyMTowMzowOS40OTAyNzE5NjAgKzAyMDAKIEBAIC0wLDAgKzEsOTggQEAKICshIENvcHly aWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTIxNDcsMTAg KzMxMDIsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vZHluYW1pYy5mOTAKICsgIGlmICh4ICgxLCAxKSAubmUuIDggLm9yLiB4ICgyLCAy KSAubmUuIDkgLm9yLiB4ICgxLCAyKSAubmUuIDQpIGNhbGwgYWJvcnQKICsgIGlmICh4ICgzLCAx KSAubmUuIDEwKSBjYWxsIGFib3J0CiArZW5kCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCitJbmRleDogZ2RiLTcuMTIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAu MjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCTIwMTYtMDgtMjUg MTg6NDQ6NDIuMDYxNzg5MDg2ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdHJpbmcuZXhwCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDkwMjcxOTYwICswMjAwCiBA QCAtMCwwICsxLDU5IEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICsKQEAgLTIyMTEsMTAgKzMxNjYsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIw MTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4cAogK2dkYl9jb250aW51 ZV90b19icmVha3BvaW50ICJ2YXItZmluaXNoIgogK2dkYl90ZXN0ICJwIGUiICJcXCRcWzAtOVxd KiA9ICdlICAgJyIgInAgZSByZS1zZXQiCiArZ2RiX3Rlc3QgInAgZiIgIlxcJFxbMC05XF0qID0g XFwoXFwoICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdm ICAgJ1xcKSBcXCggJ2YyICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAg JywgJ2YgICAnXFwpIFxcKCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywg J2YgICAnLCAnZiAgICdcXCkgXFwpIiAicCAqZiByZS1zZXQiCi1JbmRleDogZ2RiLTcuMTEuOTAu MjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCitJbmRleDogZ2Ri LTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAt LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCTIw MTYtMDgtMjUgMTg6NDQ6NDIuMDYxNzg5MDg2ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDkwMjcxOTYw ICswMjAwCiBAQCAtMCwwICsxLDM3IEBACiArISBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0yMjUzLDEwICszMjA4LDEwIEBAIEluZGV4OiBnZGIt Ny4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAKICsg IGggPSAnaCcKICsgIGNhbGwgZm9vIChnLCBoKQogK2VuZAotSW5kZXg6IGdkYi03LjExLjkwLjIw MTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCitJbmRleDogZ2Ri LTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K IC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmV4 cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2MTc4OTA4NiArMDIwMAorKysrIGdkYi03LjEyL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDkw MjcxOTYwICswMjAwCiBAQCAtMCwwICsxLDcyIEBACiArIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTIzMzAsMTAgKzMyODUsMTAgQEAgSW5kZXg6 IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2Uu ZXhwCiArZ2RiX3VubG9hZAogK3NldHVwX2tmYWlsICIqLSotKiIgInZsYXJlZ3Jlc3Npb24vOTk5 OSIKICtnZGJfdGVzdCB7cCAkYSAoMywgMjoyKX0geyA9IFwoMjNcKX0KLUluZGV4OiBnZGItNy4x MS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MAorSW5k ZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJy YW5nZS5mOTAJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNjE3ODkwODYgKzAyMDAKKysrKyBnZGItNy4x Mi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MAkyMDE2LTEwLTIwIDIxOjAz OjA5LjQ5MDI3MTk2MCArMDIwMAogQEAgLTAsMCArMSwyOCBAQAogKyEgQ29weXJpZ2h0IDIwMTEg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMjM2MywxMCArMzMxOCwxMCBA QCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9z dWJyYW5nZS5mOTAKICsgIHB0ciA9PiBhCiArICB3cml0ZSAoKiwqKSBhICAgICAgICAgICAgICAg ICAhIGJyZWFrLXN0YXRpYwogK2VuZAotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90 ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCitJbmRleDogZ2RiLTcuMTIvZ2Ri L3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x MS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuYwky MDE2LTA4LTI1IDE4OjQ0OjQyLjA2MTc4OTA4NiArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0 c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDkx MjcxOTY3ICswMjAwCiBAQCAtMCwwICsxLDI2IEBACiArLyogQ29weXJpZ2h0IDIwMTEgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0yMzk0LDEwICszMzQ5LDEwIEBAIEluZGV4 OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxl LXR5cGUuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3 L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKK0luZGV4OiBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuZXhwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFs ZS10eXBlLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2Mjc4OTA5NSArMDIwMAorKysrIGdkYi03 LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAJMjAxNi0xMC0y MCAyMTowMzowOS40OTEyNzE5NjcgKzAyMDAKIEBAIC0wLDAgKzEsNTcgQEAKICsjIENvcHlyaWdo dCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyMKQEAgLTI0NTYsMTAgKzM0 MTEsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1p L21pMi12YXItc3RhbGUtdHlwZS5leHAKICttaV9jcmVhdGVfdmFyb2JqICJ2bGEiICJ2bGEiICJj cmVhdGUgbG9jYWwgdmFyaWFibGUgdmxhIgogKwogK21pX2dkYl90ZXN0ICItdmFyLXVwZGF0ZSAq IiAiXFxeZG9uZSxjaGFuZ2VsaXN0PS4qIiAiLXZhci11cGRhdGUgKiIKLUluZGV4OiBnZGItNy4x MS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1m dW5jLmMKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1y ZWdpc3Rlci1mdW5jLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1 aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1mdW5jLmMJMjAxNi0wOC0yNSAxODo0NDo0 Mi4wNjI3ODkwOTUgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJy YXktZnJvbS1yZWdpc3Rlci1mdW5jLmMJMjAxNi0xMC0yMCAyMTowMzowOS40OTEyNzE5NjcgKzAy MDAKIEBAIC0wLDAgKzEsMjIgQEAKICsvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCiArCkBAIC0yNDgzLDEwICszNDM4LDEwIEBAIEluZGV4OiBnZGItNy4xMS45 MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1mdW5j LmMKICt7CiArICByZXR1cm4gYXJyWzBdOwogK30KLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgw Ny9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCitJbmRleDogZ2Ri LTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9t LXJlZ2lzdGVyLmMJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNjI3ODkwOTUgKzAyMDAKKysrKyBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCTIwMTYtMTAt MjAgMjE6MDM6MDkuNDkxMjcxOTY3ICswMjAwCiBAQCAtMCwwICsxLDI4IEBACiArLyogVGhpcyBm aWxlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMjUxNiwxMCArMzQ3 MSwxMCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0 L2FycmF5LWZyb20tcmVnaXN0ZXIuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03 LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVy LmV4cAorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJl Z2lzdGVyLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUv Z2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2Mjc4 OTA5NSArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9t LXJlZ2lzdGVyLmV4cAkyMDE2LTEwLTIwIDIxOjAzOjA5LjQ5MTI3MTk2NyArMDIwMAogQEAgLTAs MCArMSwzMyBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCiArIwpAQCAtMjU1NCwxMCArMzUwOSw4NyBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4 MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCiArIyBTZWVu IHJlZ3Jlc3Npb246CiArIyBBZGRyZXNzIHJlcXVlc3RlZCBmb3IgaWRlbnRpZmllciAiYXJyIiB3 aGljaCBpcyBpbiByZWdpc3RlciAkcmRpCiArZ2RiX3Rlc3QgInAgYXJyXFswXF0iICJcXCRcWzAt OVxdKyA9IDQyIgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2Ri LnBhc2NhbC9hcnJheXMuZXhwCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0 L2ZvcnRyYW4tc3RyaW5nLmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2Ri Lm9wdC9mb3J0cmFuLXN0cmluZy5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40OTEyNzE5NjcgKzAy MDAKK0BAIC0wLDAgKzEsMzkgQEAKKysjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorKworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl LCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjIAorKyMgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKysjIAorKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisrIyBGb3VuZGF0aW9uLCBJ bmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywg VVNBLiAgCisrCisrIyBUaGlzIGZpbGUgd2FzIHdyaXR0ZW4gYnkgSmFuIEtyYXRvY2h2aWwgPGph bi5rcmF0b2NodmlsQHJlZGhhdC5jb20+LgorKworKyMgVGVzdCBHREIgY2FuIGNvcGUgd2l0aCBG b3J0cmFuIHN0cmluZ3MgaGF2aW5nIHRoZWlyIGxlbmd0aCBwcmVzZW50IGluIGEgQ1BVCisrIyBy ZWdpc3Rlci4gIFdpdGggLU8wIHRoZSBzdHJpbmcgbGVuZ3RoIGlzIHBhc3NlZCBvbiB0aGUgc3Rh Y2suICBUbyBtYWtlIHRoaXMKKysjIHRlc3QgbWVhbmluZ2Z1bCB0aGUgZm9sbG93IGFzc2VydGlv biBzaG91bGQgcGFzcy4gIEl0IGlzIG5vdCBiZWluZyBjaGVja2VkCisrIyBoZXJlIGFzIHRoZSAi X3MiIHN5bWJvbCBpcyBjb21waWxlciBkZXBlbmRlbnQ6CisrIyAgIChnZGIpIGluZm8gYWRkcmVz cyBfcworKyMgICBTeW1ib2wgIl9zIiBpcyBhIHZhcmlhYmxlIGluIHJlZ2lzdGVyIFhYLgorKwor K3NldCB0ZXN0IGZvcnRyYW4tc3RyaW5nCisrc2V0IHNyY2ZpbGUgJHt0ZXN0fS5mOTAKKytpZiB7 IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICR7dGVzdH0uZXhwICR7dGVzdH0gJHtzcmNmaWxlfSB7ZGVi dWcgZjkwIGFkZGl0aW9uYWxfZmxhZ3M9LU8yfV0gfSB7CisrICAgIHJldHVybiAtMQorK30KKysK KytpZiAhW3J1bnRvICRzcmNmaWxlOltnZGJfZ2V0X2xpbmVfbnVtYmVyICJzID0gcyJdXSB0aGVu IHsKKysgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCisrICAg IGNvbnRpbnVlCisrfQorKworK2dkYl90ZXN0ICJmcmFtZSIgIi4qcz0nZm9vJy4qIgorK2dkYl90 ZXN0ICJwdHlwZSBzIiAidHlwZSA9IGNoYXJhY3RlclxcKjMiCisrZ2RiX3Rlc3QgInAgcyIgIlxc JFxbMC05XF0qID0gJ2ZvbyciCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0 L2ZvcnRyYW4tc3RyaW5nLmY5MAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2Ri Lm9wdC9mb3J0cmFuLXN0cmluZy5mOTAJMjAxNi0xMC0yMCAyMTowMzowOS40OTEyNzE5NjcgKzAy MDAKK0BAIC0wLDAgKzEsMjggQEAKKyshIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorKyEKKyshIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrISBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyEgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z ZSwgb3IKKyshIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIQorKyEgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisrISBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorKyEgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyEgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKyshCisrISBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyEgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyshIEZvdW5kYXRpb24sIElu Yy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBV U0EuCisrIQorKyEgSWhpcyBmaWxlIGlzIHRoZSBGb3J0cmFuIHNvdXJjZSBmaWxlIGZvciBkeW5h bWljLmV4cC4KKyshIE9yaWdpbmFsIGZpbGUgd3JpdHRlbiBieSBKYWt1YiBKZWxpbmVrIDxqYWt1 YkByZWRoYXQuY29tPi4KKyshIE1vZGlmaWVkIGZvciB0aGUgR0RCIHRlc3RjYXNlIGJ5IEphbiBL cmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPi4KKysKKysgIHN1YnJvdXRpbmUg ZihzKQorKyAgY2hhcmFjdGVyKigqKSBzCisrICBzID0gcworKyAgZW5kCisrCisrICBwcm9ncmFt IG1haW4KKysgIGNhbGwgZiAoJ2ZvbycpCisrICBlbmQKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYw ODA3L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCTIwMTYtMDgtMjUgMTg6NDQ6 NDIuMDYyNzg5MDk1ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2Fs L2FycmF5cy5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40OTIyNzE5NzUgKzAyMDAKIEBAIC0wLDAg KzEsMTA0IEBACiArIyBDb3B5cmlnaHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICsjCkBAIC0yNjYzLDEwICszNjk1LDEwIEBAIEluZGV4OiBnZGItNy4xMS45MC4y MDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAogK30KICtnZGJfdGVz dCAicHJpbnQgRHluQXJyQ2hhciIgIi4qID0gJ2FiY2RlZmdoaWprbG0nIiAiUHJpbnQgZHluYW1p YyBhcnJheSBvZiBjaGFyIgogKwotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0 c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMucGFzCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0 ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9n ZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcwkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2 Mjc4OTA5NSArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJh eXMucGFzCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDkyMjcxOTc1ICswMjAwCiBAQCAtMCwwICsxLDgy IEBACiArewogKyBDb3B5cmlnaHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KQEAgLTI3NTAsMTAgKzM3ODIsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3 L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMucGFzCiArICBzIDo9ICd0ZXN0JyMwJ3N0 cmluZyc7CiArICB3cml0ZWxuKHMpOyB7IHNldCBicmVha3BvaW50IDIgaGVyZSB9CiArZW5kLgot SW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK0lu ZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTEuOTAuMjAxNjA4MDcub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTYt MDgtMjUgMTg6NDQ6NDEuNDI0NzgzMTQ4ICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcv Z2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2Mzc4OTEwNCAr MDIwMAorLS0tIGdkYi03LjEyLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDE2LTEw LTIwIDIxOjAyOjMwLjk0MTk3MDU1NiArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv bGliL2dkYi5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40OTMyNzE5ODMgKzAyMDAKIEBAIC0xNzMs NiArMTczLDExIEBACiAgCSAgICBzZW5kX2dkYiAieVxuIgogIAkgICAgZXhwX2NvbnRpbnVlCkBA IC0yNzY2LDEwICszNzk4LDEwIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVz dHN1aXRlL2xpYi9nZGIuZXhwCiAgCS1yZSAiRGlzY2FyZCBzeW1ib2wgdGFibGUgZnJvbSAuKnkg b3Igbi4qJCIgewogIAkgICAgc2VuZF9nZGIgInlcbiIKICAJICAgIGV4cF9jb250aW51ZQotSW5k ZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAKK0lu ZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTEuOTAuMjAxNjA4MDcub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhw CTIwMTYtMDgtMDcgMDQ6MDA6MDEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAx NjA4MDcvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2 Mzc4OTEwNCArMDIwMAorLS0tIGdkYi03LjEyLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2Fs LmV4cAkyMDE2LTEwLTIwIDIxOjAyOjMwLjk0MTk3MDU1NiArMDIwMAorKysrIGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40OTMyNzE5ODMg KzAyMDAKIEBAIC0zNyw2ICszNyw5IEBACiAgICAgIGdsb2JhbCBwYXNjYWxfY29tcGlsZXJfaXNf ZnBjCiAgICAgIGdsb2JhbCBncGNfY29tcGlsZXIKCmRpZmYgLS1naXQgYS9nZGItcGh5c25hbWUt cHIxMTczNC10ZXN0LnBhdGNoIGIvZ2RiLXBoeXNuYW1lLXByMTE3MzQtdGVzdC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzliYTRhCi0tLSAvZGV2L251bGwKKysr IGIvZ2RiLXBoeXNuYW1lLXByMTE3MzQtdGVzdC5wYXRjaApAQCAtMCwwICsxLDIyNiBAQAoraHR0 cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTAtMTIvbXNnMDAyNjMuaHRtbAor CitJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTEuY2MKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK KysrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMS5jYwkyMDExLTAyLTAz IDIyOjI4OjAxLjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSwzMCBAQAorKy8qIFRoaXMgdGVz dGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0 IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisrICAgUGxlYXNlIGVtYWlsIGFueSBidWdzLCBjb21t ZW50cywgYW5kL29yIGFkZGl0aW9ucyB0byB0aGlzIGZpbGUgdG86CisrICAgYnVnLWdkYkBnbnUu b3JnICAqLworKworKyNpbmNsdWRlICJwcjExNzM0LmgiCisrCisraW50CisrbWFpbiAoKQorK3sK KysgIHByMTE3MzQgKnAgPSBuZXcgcHIxMTczNDsKKysgIHAtPmZvbyAoKTsKKysgIHJldHVybiAw OworK30KKysKK0luZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMi5j YworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAorKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC0yLmNjCTIw MTEtMDItMDMgMjI6Mjg6MDEuMDAwMDAwMDAwICswMTAwCitAQCAtMCwwICsxLDI3IEBACisrLyog VGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBD b3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisr ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysgICBQbGVhc2UgZW1haWwgYW55IGJ1 Z3MsIGNvbW1lbnRzLCBhbmQvb3IgYWRkaXRpb25zIHRvIHRoaXMgZmlsZSB0bzoKKysgICBidWct Z2RiQGdudS5vcmcgICovCisrCisrI2luY2x1ZGUgInByMTE3MzQuaCIKKysKKyt2b2lkCisrcHIx MTczNDo6Zm9vKHZvaWQpCisreworK30KKysKK0luZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL3ByMTE3MzQtMy5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvcHIxMTczNC0zLmNjCTIwMTEtMDItMDMgMjI6Mjg6MDEuMDAwMDAwMDAwICswMTAwCitAQCAt MCwwICsxLDI3IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK KysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor KyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysgICBQ bGVhc2UgZW1haWwgYW55IGJ1Z3MsIGNvbW1lbnRzLCBhbmQvb3IgYWRkaXRpb25zIHRvIHRoaXMg ZmlsZSB0bzoKKysgICBidWctZ2RiQGdudS5vcmcgICovCisrCisrI2luY2x1ZGUgInByMTE3MzQu aCIKKysKKyt2b2lkCisrcHIxMTczNDo6Zm9vIChpbnQgYSkKKyt7CisrfQorKworSW5kZXg6IGdk Yi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC00LmNjCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcu Mi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTQuY2MJMjAxMS0wMi0wMyAyMjoyODowMS4w MDAwMDAwMDAgKzAxMDAKK0BAIC0wLDAgKzEsMjcgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDEwIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorKworKyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywgY29tbWVudHMsIGFuZC9v ciBhZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgorKyAgIGJ1Zy1nZGJAZ251Lm9yZyAgKi8KKysK KysjaW5jbHVkZSAicHIxMTczNC5oIgorKworK3ZvaWQKKytwcjExNzM0Ojpmb28gKGNoYXIgKmEp CisreworK30KKysKK0luZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQu ZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCisrKysgZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LmV4cAky MDExLTAyLTAzIDIyOjI4OjAxLjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSw1NSBAQAorKyMg Q29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIworKyMgQ29u dHJpYnV0ZWQgYnkgUmVkIEhhdCwgb3JpZ2luYWxseSB3cml0dGVuIGJ5IEtlaXRoIFNlaXR6Lgor KyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor KyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisrIyBUaGlzIGZpbGUgaXMgcGFy dCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZS4KKysKKytpZiB7IFtza2lwX2NwbHVzX3Rlc3RzXSB9IHsg Y29udGludWUgfQorKworK3NldCB0ZXN0ZmlsZSAicHIxMTczNCIKKytzZXQgY2xhc3MgJHRlc3Rm aWxlCisrCisrc2V0IHNyY2ZpbGVzIHt9CisrZm9yIHtzZXQgaSAxfSB7JGkgPCA1fSB7aW5jciBp fSB7CisrICAgIGxhcHBlbmQgc3JjZmlsZXMgJHRlc3RmaWxlLSRpLmNjCisrfQorKworK3ByZXBh cmVfZm9yX3Rlc3RpbmcgcHIxMTczNCAkdGVzdGZpbGUgJHNyY2ZpbGVzIHtjKysgZGVidWd9Cisr CisraWYgeyFbcnVudG9fbWFpbl19IHsKKysgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJl YWtwb2ludCIKKysgICAgY29udGludWUKKyt9CisrCisrIyBBbiBhcnJheSBob2xkaW5nIHRoZSBv dmVybG9hZCB0eXBlcyBmb3IgdGhlIG1ldGhvZCBwcjExNzM0Ojpmb28uICBUaGUKKysjIGZpcnN0 IGVsZW1lbnQgaXMgdGhlIG92ZXJsb2FkZWQgbWV0aG9kIHBhcmFtZXRlci4gIFRoZSBzZWNvbmQg ZWxlbWVudAorKyMgaXMgdGhlIGV4cGVjdGVkIHNvdXJjZSBmaWxlIG51bWJlciwgZS5nLiAicHIx MTczNC0/LmNjIi4KKythcnJheSBzZXQgdGVzdHMgeworKyAgICAiY2hhcioiICA0CisrICAgICJp bnQiICAgIDMKKysgICAgIiIgICAgICAgMgorK30KKysKKysjIFRlc3QgZWFjaCBvdmVybG9hZCBp bnN0YW5jZSB0d2ljZTogb25jZSBxdW90ZWQsIG9uY2UgdW5xdW90ZWQKKytmb3JlYWNoIG92bGQg W2FycmF5IG5hbWVzIHRlc3RzXSB7CisrICAgIHNldCBtZXRob2QgIiR7Y2xhc3N9Ojpmb29cKCRv dmxkXCkiCisrICAgIHNldCByZXN1bHQgIkJyZWFrcG9pbnQgKFxbMC05XF0pLipmaWxlIC4qLyRj bGFzcy0kdGVzdHMoJG92bGQpLioiCisrICAgIGdkYl90ZXN0ICJicmVhayAkbWV0aG9kIiAkcmVz dWx0CisrICAgIGdkYl90ZXN0ICJicmVhayAnJG1ldGhvZCciICRyZXN1bHQKKyt9CisrCisrZ2Ri X2V4aXQKKytyZXR1cm4gMAorSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIx MTczNC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LmgJ MjAxMS0wMi0wMyAyMjoyODowMS4wMDAwMDAwMDAgKzAxMDAKK0BAIC0wLDAgKzEsMjggQEAKKysv KiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAg IENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysK KysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKyAgIFBsZWFzZSBlbWFpbCBhbnkg YnVncywgY29tbWVudHMsIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgorKyAgIGJ1 Zy1nZGJAZ251Lm9yZyAgKi8KKysKKytjbGFzcyBwcjExNzM0CisreworKyBwdWJsaWM6CisrICB2 b2lkIGZvbyAoKTsKKysgIHZvaWQgZm9vIChpbnQpOworKyAgdm9pZCBmb28gKGNoYXIgKik7Cisr fTsKKysKCmRpZmYgLS1naXQgYS9nZGItcGh5c25hbWUtcHIxMjI3My10ZXN0LnBhdGNoIGIvZ2Ri LXBoeXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5lOGJlZDE1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2RiLXBoeXNuYW1lLXByMTIyNzMt dGVzdC5wYXRjaApAQCAtMCwwICsxLDk1IEBACitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2Ri LXBhdGNoZXMvMjAxMC0xMi9tc2cwMDI2NC5odG1sCisKK0luZGV4OiBnZGItNy4yL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL3ByMTIyNzMuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL3ByMTIyNzMuY2MJMjAxMS0wMi0wMyAyMjozMTowMS4wMDAwMDAwMDAgKzAxMDAKK0BA IC0wLDAgKzEsMzcgQEAKKysvKiBUaGlzIHRlc3QgY2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdO VSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisr CisrdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisrY2xhc3MgR0RCCisreworKyBwdWJsaWM6CisrICAg c3RhdGljIGludCBzaW1wbGUgKHZvaWQpIHsgcmV0dXJuIDA7IH0KKysgICBzdGF0aWMgaW50IGhh cmRlciAoVCBhKSB7IHJldHVybiAxOyB9CisrICAgdGVtcGxhdGUgPHR5cGVuYW1lIFg+CisrICAg c3RhdGljIFggZXZlbl9oYXJkZXIgKFQgYSkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8WD4gKGEpOyB9 CisrICAgaW50IG9wZXJhdG9yID09IChHREIgY29uc3QmIG90aGVyKQorKyAgIHsgcmV0dXJuIDE7 IH0KKyt9OworKworK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyt7CisrICAgR0RC PGludD4gYSwgYjsKKysgICBpZiAoYSA9PSBiKQorKyAgICAgcmV0dXJuIEdEQjxjaGFyPjo6aGFy ZGVyKCdhJykgKyBHREI8aW50Pjo6aGFyZGVyKDMpCisrCSsgR0RCPGNoYXI+OjpldmVuX2hhcmRl cjxpbnQ+ICgnYScpOworKyAgIHJldHVybiBHREI8aW50Pjo6c2ltcGxlICgpOworK30KK0luZGV4 OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTIyNzMuZXhwCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2Ri LTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjEyMjczLmV4cAkyMDExLTAyLTAzIDIyOjMxOjAx LjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSw0NiBAQAorKyMgQ29weXJpZ2h0IDIwMTAgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIworKyMgQ29udHJpYnV0ZWQgYnkgUmVkIEhh dCwgb3JpZ2luYWxseSB3cml0dGVuIGJ5IEtlaXRoIFNlaXR6LgorKyMKKysjIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor KyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCisrCisrIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgZ2RiIHRlc3Rz dWl0ZS4KKysKKytpZiB7W3NraXBfY3BsdXNfdGVzdHNdfSB7IGNvbnRpbnVlIH0KKysKKytzZXQg dGVzdGZpbGUgInByMTIyNzMiCisrIyBEbyBOT1QgY29tcGlsZSB3aXRoIGRlYnVnIGZsYWcuCisr cHJlcGFyZV9mb3JfdGVzdGluZyBwcjEyMjczICR0ZXN0ZmlsZSAkdGVzdGZpbGUuY2Mge2MrK30K KysKKytnZGJfdGVzdF9ub19vdXRwdXQgInNldCBsYW5ndWFnZSBjKysiCisrCisrIyBBIGxpc3Qg b2YgbWluaW1hbCBzeW1ib2wgbmFtZXMgdG8gY2hlY2suCisrIyBOb3RlIHRoYXQgR0RCPGNoYXI+ OjpldmVuX2hhcmRlcjxpbnQ+KGNoYXIpIGlzIHF1b3RlZCBhbmQgaW5jbHVkZXMKKysjIHRoZSBy ZXR1cm4gdHlwZS4gIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhpcyBpcyB0aGUgZGVtYW5n bGVkIG5hbWUKKysjIG9mIHRoZSBtaW5pbWFsIHN5bWJvbC4KKytzZXQgbWluX3N5bXMgW2xpc3Qg XAorKwkJICAiR0RCPGludD46Om9wZXJhdG9yID09IiBcCisrCQkgICJHREI8aW50Pjo6b3BlcmF0 b3I9PShHREI8aW50PiBjb25zdCYpIiBcCisrCQkgICJHREI8Y2hhcj46OmhhcmRlcihjaGFyKSIg XAorKwkJICAiR0RCPGludD46OmhhcmRlcihpbnQpIiBcCisrCQkgIHsiaW50IEdEQjxjaGFyPjo6 ZXZlbl9oYXJkZXI8aW50PihjaGFyKSJ9IFwKKysJCSAgIkdEQjxpbnQ+OjpzaW1wbGUoKSJdCisr CisrZm9yZWFjaCBzeW0gJG1pbl9zeW1zIHsKKysgICAgaWYge1tnZGJfYnJlYWtwb2ludCAkc3lt XX0geworKwlwYXNzICJzZXR0aW5nIGJyZWFrcG9pbnQgYXQgJHN5bSIKKysgICAgfQorK30KKysK KytnZGJfZXhpdAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3Jl YWRfbWVtb3J5LXRlc3QucGF0Y2ggYi9nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFk X21lbW9yeS10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5 NWQxZGMKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9y ZWFkX21lbW9yeS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTYyIEBACitPcmlnaW5hbCBtZXNzYWdl IGJ5IFRvbSBUcm9tZXk6CisKKyAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNo ZXMvMjAxMi0wMy9tc2cwMDk1NS5odG1sPgorICBNZXNzYWdlLUlEOiA8ODcxdW9jMXZhMy5mc2ZA ZmxlY2hlLnJlZGhhdC5jb20+CisKK0NvbW1lbnQgZnJvbSBTZXJnaW8gRHVyaWdhbiBKdW5pb3I6 CisKKyAgSW4gb3JkZXIgdG8gY29ycmVjdGx5IHRlc3QgdGhpcyBwYXRjaCwgSSB3cm90ZSBhIHRl c3RjYXNlIGJhc2VkIG9uIEphbgorICBLcmF0b2NodmlsJ3MgPGdkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZ2NvcmUtZXhjZXNzaXZlLW1lbW9yeS5leHA+LiAgVGhlCisgIHRlc3RjYXNlLCB3aGljaCBj YW4gYmUgc2VlbiBiZWxvdywgdGVzdHMgR0RCIGluIG9yZGVyIHRvIHNlZSBpZiB0aGUKKyAgYW1v dW50IG9mIG1lbW9yeSBiZWluZyBsZWFrZWQgaXMgbWluaW1hbCwgYXMgcmVxdWVzdGVkIGluIHRo ZSBidWd6aWxsYS4KKyAgSXQgaXMgaGFyZCB0byBkZWZpbmUgd2hhdCAibWluaW11bSIgaXMsIHNv IEkgcmFuIHRoZSB0ZXN0Y2FzZSBvbiBhbGwKKyAgc3VwcG9ydGVkIFJIRUwgYXJjaGl0ZWN0dXJl cyBhbmQgY2FtZSB1cCB3aXRoIGFuIGF2ZXJhZ2UuCisKK2NvbW1pdCBjYzAyNjVjZGRhOWRjN2U4 NjY1ZThiZmNmNWI0NDc3NDg5ZGFmMjdjCitBdXRob3I6IFRvbSBUcm9tZXkgPHRyb21leUByZWRo YXQuY29tPgorRGF0ZTogICBXZWQgTWFyIDI4IDE3OjM4OjA4IDIwMTIgKzAwMDAKKworICAgIAkq IHB5dGhvbi9weS1pbmZlcmlvci5jIChpbmZweV9yZWFkX21lbW9yeSk6IFJlbW92ZSBjbGVhbnVw cyBhbmQKKyAgICAJZXhwbGljaXRseSBmcmVlICdidWZmZXInIG9uIGV4aXQgcGF0aHMuICBEZWNy ZWYgJ21lbWJ1Zl9vYmplY3QnCisgICAgCWJlZm9yZSByZXR1cm5pbmcuCisKK0luZGV4OiBnZGIt Ny4yL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1p bmZweV9yZWFkX21lbW9yeS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCisrKysgZ2RiLTcu Mi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5m cHlfcmVhZF9tZW1vcnkuYworQEAgLTAsMCArMSwyNyBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMg cGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTQgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAg YWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzLz4uICAqLworKworK3N0YXRpYyBzdHJ1Y3QgeAorKyAgeworKyAgICBjaGFyIHVu c2lnbmVkIHVbNDA5Nl07CisrICB9IHgsICpweCA9ICZ4OworKworK2ludAorK21haW4gKGludCBh cmdjLCBjaGFyICphcmd2W10pCisreworKyAgcmV0dXJuIDA7CisrfQorSW5kZXg6IGdkYi03LjIv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5 X3JlYWRfbWVtb3J5LmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAorKysrIGdkYi03LjIv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5 X3JlYWRfbWVtb3J5LmV4cAorQEAgLTAsMCArMSw2OCBAQAorKyMgQ29weXJpZ2h0IDIwMTQgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgorKworK3NldCB0ZXN0ZmlsZSBweS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9y ZWFkX21lbW9yeQorK3NldCBzcmNmaWxlICR7dGVzdGZpbGV9LmMKKytzZXQgYmluZmlsZSAke29i amRpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9CisrCisraWYgeyBbcHJlcGFyZV9mb3JfdGVzdGlu ZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfV0gfSB7CisrICAgIHJldHVy biAtMQorK30KKysKKytpZiB7IFtza2lwX3B5dGhvbl90ZXN0c10gfSB7IGNvbnRpbnVlIH0KKysK KytzZXQgcGlkX29mX2dkYiBbZXhwX3BpZCAtaSBbYm9hcmRfaW5mbyBob3N0IGZpbGVpZF1dCisr CisrcHJvYyBtZW1vcnlfdl9wYWdlc19nZXQge30geworKyAgICBnbG9iYWwgcGlkX29mX2dkYgor KyAgICBzZXQgZmQgW29wZW4gIi9wcm9jLyRwaWRfb2ZfZ2RiL3N0YXRtIl0KKysgICAgZ2V0cyAk ZmQgbGluZQorKyAgICBjbG9zZSAkZmQKKysgICAgIyBudW1iZXIgb2YgcGFnZXMgb2YgdmlydHVh bCBtZW1vcnkKKysgICAgc2NhbiAkbGluZSAiJWQiIGRycworKyAgICByZXR1cm4gJGRycworK30K KysKKytpZiB7ICFbcnVudG9fbWFpbl0gfSB7CisrICAgIHVudGVzdGVkICR0ZXN0ZmlsZS5leHAK KysgICAgcmV0dXJuIC0xCisrfQorKworK3NldCByZW1vdGVfcHl0aG9uX2ZpbGUgW3JlbW90ZV9k b3dubG9hZCBob3N0ICR7c3JjZGlyfS8ke3N1YmRpcn0vJHt0ZXN0ZmlsZX0ucHldCisrCisrZ2Ri X3Rlc3QgInNvdXJjZSAke3JlbW90ZV9weXRob25fZmlsZX0iICIiCisrCisrZ2RiX3Rlc3QgImhl bGxvLXdvcmxkIiAiIgorKworK3NldCBrYnl0ZXNfYmVmb3JlIFttZW1vcnlfdl9wYWdlc19nZXRd CisrdmVyYm9zZSAtbG9nICJrYnl0ZXNfYmVmb3JlID0gJGtieXRlc19iZWZvcmUiCisrCisrZ2Ri X3Rlc3QgImhlbGxvLXdvcmxkIiAiIgorKworK3NldCBrYnl0ZXNfYWZ0ZXIgW21lbW9yeV92X3Bh Z2VzX2dldF0KKyt2ZXJib3NlIC1sb2cgImtieXRlc19hZnRlciA9ICRrYnl0ZXNfYWZ0ZXIiCisr Cisrc2V0IGtieXRlc19kaWZmIFtleHByICRrYnl0ZXNfYWZ0ZXIgLSAka2J5dGVzX2JlZm9yZV0K Kyt2ZXJib3NlIC1sb2cgImtieXRlc19kaWZmID0gJGtieXRlc19kaWZmIgorKworKyMgVGhlIHZh bHVlICIxMDAwIiB3YXMgY2FsY3VsYXRlZCBieSBydW5uaW5nIGEgZmV3IEdEQiBzZXNzaW9ucyB3 aXRoIHRoaXMKKysjIHRlc3RjYXNlLCBhbmQgc2VlaW5nIGhvdyBtdWNoIChpbiBhdmVyYWdlKSB0 aGUgbWVtb3J5IGNvbnN1bXB0aW9uCisrIyBpbmNyZWFzZWQgYWZ0ZXIgdGhlICJoZWxsby13b3Js ZCIgY29tbWFuZCBpc3N1ZWQgYWJvdmUuICBUaGUgYXZlcmFnZQorKyMgd2FzIGFyb3VuZCA1MDAg Ynl0ZXMsIHNvIEkgY2hvc2UgMTAwMCBhcyBhIGhpZ2ggZXN0aW1hdGUuCisraWYgeyAka2J5dGVz X2RpZmYgPiAxMDAwIH0geworKyAgICBmYWlsICJ0aGVyZSBpcyBhIG1lbW9yeSBsZWFrIG9uIEdE QiAoUkhCWiAxMDA3NjE0KSIKKyt9IGVsc2UgeworKyAgICBwYXNzICJ0aGVyZSBpcyBub3QgYSBt ZW1vcnkgbGVhayBvbiBHREIgKFJIQlogMTAwNzYxNCkiCisrfQorSW5kZXg6IGdkYi03LjIvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3Jl YWRfbWVtb3J5LnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCisrKysgZ2RiLTcuMi9nZGIv dGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVh ZF9tZW1vcnkucHkKK0BAIC0wLDAgKzEsMzAgQEAKKysjIENvcHlyaWdodCAoQykgMjAxNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCisrCisrY2xhc3MgSGVsbG9Xb3JsZCAoZ2RiLkNvbW1hbmQpOgorKyAgICAiIiJHcmVldCB0 aGUgd2hvbGUgd29ybGQuIiIiCisrCisrICAgIGRlZiBfX2luaXRfXyAoc2VsZik6CisrICAgICAg ICBzdXBlciAoSGVsbG9Xb3JsZCwgc2VsZikuX19pbml0X18gKCJoZWxsby13b3JsZCIsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdkYi5DT01NQU5EX09CU0NV UkUpCisrCisrICAgIGRlZiBpbnZva2UgKHNlbGYsIGFyZywgZnJvbV90dHkpOgorKyAgICAgICAg cHggPSBnZGIucGFyc2VfYW5kX2V2YWwoInB4IikKKysgICAgICAgIGNvcmUgPSBnZGIuaW5mZXJp b3JzKClbMF0KKysgICAgICAgIGZvciBpIGluIHJhbmdlKDI1NiAqIDEwMjQpOgorKyAgICAgICAg ICAgIGNodW5rID0gY29yZS5yZWFkX21lbW9yeShweCwgNDA5NikKKysgICAgICAgIHByaW50ICJI ZWxsbywgV29ybGQhIgorKworK0hlbGxvV29ybGQgKCkKCmRpZmYgLS1naXQgYS9nZGItcmhiejEx NDkyMDUtY2F0Y2gtc3lzY2FsbC1hZnRlci1mb3JrLXRlc3QucGF0Y2ggYi9nZGItcmhiejExNDky MDUtY2F0Y2gtc3lzY2FsbC1hZnRlci1mb3JrLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uYjcxNjllZgotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1yaGJ6MTE0 OTIwNS1jYXRjaC1zeXNjYWxsLWFmdGVyLWZvcmstdGVzdC5wYXRjaApAQCAtMCwwICsxLDExNCBA QAorVVJMOiA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEzLTA1L21z ZzAwMzY0Lmh0bWw+CitNZXNzYWdlLUlEOiA8MTM2ODEzNjU4Mi4zMDA1OC43LmNhbWVsQHNvbGVp bD4KKworICBGcm9tOiBQaGlsaXBwZSBXYXJvcXVpZXJzIDxwaGlsaXBwZSBkb3Qgd2Fyb3F1aWVy cyBhdCBza3luZXQgZG90IGJlPgorICBUbzogZ2RiLXBhdGNoZXMgYXQgc291cmNld2FyZSBkb3Qg b3JnCisgIFN1YmplY3Q6IFJGQTogZml4IGdkYl9hc3NlcnQgY2F1c2VkIGJ5ICdjYXRjaCBzaWdu YWwgLi4uJyBhbmQgZm9yaworICBEYXRlOiBUaHUsIDA5IE1heSAyMDEzIDIzOjU2OjIyICswMjAw CisKKyAgVGhlIGF0dGFjaGVkIHBhdGNoIGZpeGVzIGEgZ2RiX2Fzc2VydCBjYXVzZWQgYnkgdGhl IGNvbWJpbmF0aW9uIG9mIGNhdGNoCisgIHNpZ25hbCBhbmQgZm9yazoKKyAgICBicmVhay1jYXRj aC1zaWcuYzoxNTI6IGludGVybmFsLWVycm9yOiBzaWduYWxfY2F0Y2hwb2ludF9yZW1vdmVfbG9j YXRpb246IEFzc2VydGlvbiBgc2lnbmFsX2NhdGNoX2NvdW50c1tpdGVyXSA+IDAnIGZhaWxlZC4K KworICBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBzaWduYWxfY2F0Y2hfY291bnRzIGlzIGRlY3Jl bWVudGVkIGJ5IGRldGFjaF9icmVha3BvaW50cy4KKyAgVGhlIGZpeCBjb25zaXN0cyBpbiBub3Qg ZGV0YWNoaW5nIGJyZWFrcG9pbnQgbG9jYXRpb25zIG9mIHR5cGUgYnBfbG9jX290aGVyLgorICBU aGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyB0ZXN0LgorCitDb21tZW50cyBieSBTZXJnaW8gRHVy aWdhbiBKdW5pb3I6CisKKyAgSSBhZGRkZWQgYSBzcGVjaWZpYyB0ZXN0Y2FzZSBmb3IgdGhpcyBw YXRjaCwgd2hpY2ggdGVzdHMgZXhhY3RseSB0aGUKKyAgaXNzdWUgdGhhdCB0aGUgY3VzdG9tZXIg aXMgZmFjaW5nLiAgVGhpcyBwYXRjaCBkb2VzIG5vdCBzb2x2ZSB0aGUKKyAgd2hvbGUgcHJvYmxl bSBvZiBjYXRjaGluZyBhIHN5c2NhbGwgYW5kIGZvcmtpbmcgKGZvciBtb3JlIGRldGFpbHMsCisg IHNlZSA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTM0 NTc+LAorICBzcGVjaWZpY2FsbHkgY29tbWVudCAjMyksIGJ1dCBpdCBzb2x2ZXMgdGhlIGlzc3Vl IHJlcG9ydGVkIGJ5IHRoZQorICBjdXN0b21lci4KKworICBJIGFsc28gcmVtb3ZlZCB0aGUgb3Jp Z2luYWwgdGVzdGNhc2Ugb2YgdGhpcyBwYXRjaCwgYmVjYXVzZSBpdAorICByZWxpZWQgb24gImNh dGNoIHNpZ25hbCIsIHdoaWNoIGlzIGEgY29tbWFuZCB0aGF0IGlzIG5vdCBpbXBsZW1lbnRlZAor ICBpbiB0aGlzIHZlcnNpb24gb2YgR0RCLgorCitjb21taXQgYmQ5NjczYTRkZWQ5NmVhNWMxMDg2 MDE1MDFjOGU1OTAwM2VhMWJlNgorQXV0aG9yOiBQaGlsaXBwZSBXYXJvcXVpZXJzIDxwaGlsaXBw ZUBzb3VyY2V3YXJlLm9yZz4KK0RhdGU6ICAgVHVlIE1heSAyMSAxODo0NzowNSAyMDEzICswMDAw CisKKyAgICBGaXggaW50ZXJuYWwgZXJyb3IgY2F1c2VkIGJ5IGludGVyYWN0aW9uIGJldHdlZW4g Y2F0Y2ggc2lnbmFsIGFuZCBmb3JrCisKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuYworPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdk Yi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2Nh bGwtZm9yay5jCTIwMTYtMTAtMjAgMjE6MDM6MDkuNTg0MjcyNjk1ICswMjAwCitAQCAtMCwwICsx LDExIEBACisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorKworK2lu dAorK21haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKyt7CisrICBpZiAoZm9yayAoKSA9PSAw KQorKyAgICBzbGVlcCAoMSk7CisrICBjaGRpciAoIi4iKTsKKysgIHJldHVybiAwOworK30KK0lu ZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRj aC1zeXNjYWxsLWZvcmsuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9nZGItcmhiejExNDkyMDUtY2F0Y2gtc3lzY2FsbC1mb3JrLmV4cAkyMDE2LTEwLTIwIDIx OjA0OjEzLjMzNzc3MTE3NCArMDIwMAorQEAgLTAsMCArMSw1OCBAQAorKyMgQ29weXJpZ2h0IDIw MTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorKworK2lmIHsgW2lzX3JlbW90ZSB0YXJnZXRdIHx8ICFbaXNuYXRpdmVdIH0g dGhlbiB7CisrICAgIGNvbnRpbnVlCisrfQorKworK3NldCB0ZXN0ZmlsZSAiZ2RiLXJoYnoxMTQ5 MjA1LWNhdGNoLXN5c2NhbGwtZm9yayIKKytzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5jCisrc2V0 IGJpbmZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9XQorKworKyMgVW50aWwg ImNhdGNoIHN5c2NhbGwiIGlzIGltcGxlbWVudGVkIG9uIG90aGVyIHRhcmdldHMuLi4KKytpZiB7 IVtpc3RhcmdldCAiaHBwYSotaHAtaHB1eCoiXSAmJiAhW2lzdGFyZ2V0ICIqLWxpbnV4KiJdfSB0 aGVuIHsKKysgICAgY29udGludWUKKyt9CisrCisrIyBUaGlzIHNoYWxsIGJlIHVwZGF0ZWQgd2hl bmV2ZXIgJ2NhdGNoIHN5c2NhbGwnIGlzIGltcGxlbWVudGVkCisrIyBvbiBzb21lIGFyY2hpdGVj dHVyZS4KKysjaWYgeyAhW2lzdGFyZ2V0ICJpXFszNDU2N1xdODYtKi1saW51eCoiXQorK2lmIHsg IVtpc3RhcmdldCAieDg2XzY0LSotbGludXgqIl0gJiYgIVtpc3RhcmdldCAiaVxbMzQ1NjdcXTg2 LSotbGludXgqIl0KKysgICAgICYmICFbaXN0YXJnZXQgInBvd2VycGMtKi1saW51eCoiXSAmJiAh W2lzdGFyZ2V0ICJwb3dlcnBjNjQtKi1saW51eCoiXQorKyAgICAgJiYgIVtpc3RhcmdldCAic3Bh cmMtKi1saW51eCoiXSAmJiAhW2lzdGFyZ2V0ICJzcGFyYzY0LSotbGludXgqIl0gfSB7CisrICAg ICBjb250aW51ZQorK30KKysKKytpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRp cn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVnfV0gIT0gIiIgfSB7 CisrICAgIHVudGVzdGVkICR7dGVzdGZpbGV9LmV4cAorKyAgICByZXR1cm4gLTEKKyt9CisrCisr Z2RiX2V4aXQKKytnZGJfc3RhcnQKKytnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRzdWJk aXIKKytnZGJfbG9hZCAkYmluZmlsZQorKworK2lmIHsgIVtydW50b19tYWluXSB9IHsKKysgICAg cmV0dXJuIC0xCisrfQorKworK2dkYl90ZXN0ICJjYXRjaCBzeXNjYWxsIGNoZGlyIiBcCisrICAi Q2F0Y2hwb2ludCAkZGVjaW1hbCBcXFwoc3lzY2FsbCAoLik/Y2hkaXIoLik/IFxcXFskZGVjaW1h bFxcXF1cXFwpIiBcCisrICAiY2F0Y2ggc3lzY2FsbCBjaGRpciIKKysKKytnZGJfdGVzdCAiY29u dGludWUiIFwKKysgICJDb250aW51aW5nXC5cclxuLipcclxuQ2F0Y2hwb2ludCAkZGVjaW1hbCBc XFwoY2FsbCB0byBzeXNjYWxsIC4/Y2hkaXIuPy4qIiBcCisrICAiY29udGludWUgZnJvbSBjYXRj aCBzeXNjYWxsIGFmdGVyIGZvcmsiCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vy c2l2ZS1kbG9wZW4tdGVzdC5wYXRjaCBiL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVu LXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY3Y2M2ZAot LS0gL2Rldi9udWxsCisrKyBiL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLXRlc3Qu cGF0Y2gKQEAgLTAsMCArMSwzMjIgQEAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmJhci5jCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisr KysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJz aXZlLWRsb3Blbi1saWJiYXIuYwkyMDE2LTEwLTIwIDIxOjAzOjA5LjU1ODI3MjQ5MiArMDIwMAor QEAgLTAsMCArMSwzMCBAQAorKy8qIFRlc3RjYXNlIGZvciByZWN1cnNpdmUgZGxvcGVuIGNhbGxz LgorKworKyAgIENvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisrCisrICAgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKy8qIFRoaXMgdGVzdCB3YXMgY29waWVkIGZy b20gZ2xpYmMncyB0ZXN0Y2FzZSBjYWxsZWQKKysgICA8ZGxmY24vdHN0LXJlYy1kbG9wZW4uYz4g YW5kIHJlbGF0ZWQgZmlsZXMuICAqLworKworKyNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRl IDxzdGRsaWIuaD4KKysKKyt2b2lkCisrYmFyICh2b2lkKQorK3sKKysgIHByaW50ZiAoIkNhbGxl ZCBiYXIuXG4iKTsKKyt9CitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9n ZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi1saWJmb28uYworPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03 LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9w ZW4tbGliZm9vLmMJMjAxNi0xMC0yMCAyMTowMzowOS41NTgyNzI0OTIgKzAyMDAKK0BAIC0wLDAg KzEsMzAgQEAKKysvKiBUZXN0Y2FzZSBmb3IgcmVjdXJzaXZlIGRsb3BlbiBjYWxscy4KKysKKysg ICBDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisr ICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAg IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LiAgKi8KKysKKysvKiBUaGlzIHRlc3Qgd2FzIGNvcGllZCBmcm9tIGdsaWJj J3MgdGVzdGNhc2UgY2FsbGVkCisrICAgPGRsZmNuL3RzdC1yZWMtZGxvcGVuLmM+IGFuZCByZWxh dGVkIGZpbGVzLiAgKi8KKysKKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8c3RkbGli Lmg+CisrCisrdm9pZAorK2ZvbyAodm9pZCkKKyt7CisrICBwcmludGYgKCJDYWxsZWQgZm9vLlxu Iik7CisrfQorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnox MTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uYwkyMDE2LTEwLTIw IDIxOjAzOjA5LjU1ODI3MjQ5MiArMDIwMAorQEAgLTAsMCArMSwxMjQgQEAKKysvKiBUZXN0Y2Fz ZSBmb3IgcmVjdXJzaXZlIGRsb3BlbiBjYWxscy4KKysKKysgICBDb3B5cmlnaHQgKEMpIDIwMTQg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBmaWxlIGlzIHBhcnQg b2YgR0RCLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysK KysvKiBUaGlzIHRlc3Qgd2FzIGNvcGllZCBmcm9tIGdsaWJjJ3MgdGVzdGNhc2UgY2FsbGVkCisr ICAgPGRsZmNuL3RzdC1yZWMtZGxvcGVuLmM+IGFuZCByZWxhdGVkIGZpbGVzLiAgKi8KKysKKysj aW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2luY2x1ZGUgPG1hbGxv Yy5oPgorKyNpbmNsdWRlIDxkbGZjbi5oPgorKworKyNkZWZpbmUgRFNPICJnZGItcmhiejExNTYx OTItcmVjdXJzaXZlLWRsb3Blbi1saWJmb28uc28iCisrI2RlZmluZSBGVU5DICJmb28iCisrCisr I2RlZmluZSBEU08xICJnZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi1saWJiYXIuc28i CisrI2RlZmluZSBGVU5DMSAiYmFyIgorKworKy8qIFByb3RvdHlwZSBmb3IgbXkgaG9vay4gICov Cisrdm9pZCAqY3VzdG9tX21hbGxvY19ob29rIChzaXplX3QsIGNvbnN0IHZvaWQgKik7CisrCisr LyogUG9pbnRlciB0byBvbGQgbWFsbG9jIGhvb2tzLiAgKi8KKyt2b2lkICooKm9sZF9tYWxsb2Nf aG9vaykgKHNpemVfdCwgY29uc3Qgdm9pZCAqKTsKKysKKysvKiBDYWxsIGZ1bmN0aW9uIGZ1bmNf bmFtZSBpbiBEU08gZHNvX25hbWUgdmlhIGRsb3Blbi4gICovCisrdm9pZAorK2NhbGxfZnVuYyAo Y29uc3QgY2hhciAqZHNvX25hbWUsIGNvbnN0IGNoYXIgKmZ1bmNfbmFtZSkKKyt7CisrICBpbnQg cmV0OworKyAgdm9pZCAqZHNvOworKyAgdm9pZCAoKmZ1bmMpICh2b2lkKTsKKysgIGNoYXIgKmVy cjsKKysKKysgIC8qIE9wZW4gdGhlIERTTy4gICovCisrICBkc28gPSBkbG9wZW4gKGRzb19uYW1l LCBSVExEX05PV3xSVExEX0dMT0JBTCk7CisrICBpZiAoZHNvID09IE5VTEwpCisrICAgIHsKKysg ICAgICBlcnIgPSBkbGVycm9yICgpOworKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIiVzXG4iLCBl cnIpOworKyAgICAgIGV4aXQgKDEpOworKyAgICB9CisrICAvKiBDbGVhciBhbnkgZXJyb3JzLiAg Ki8KKysgIGRsZXJyb3IgKCk7CisrCisrICAvKiBMb29rdXAgZnVuYy4gICovCisrICAqKHZvaWQg KiopICgmZnVuYykgPSBkbHN5bSAoZHNvLCBmdW5jX25hbWUpOworKyAgaWYgKGZ1bmMgPT0gTlVM TCkKKysgICAgeworKyAgICAgIGVyciA9IGRsZXJyb3IgKCk7CisrICAgICAgaWYgKGVyciAhPSBO VUxMKQorKyAgICAgICAgeworKyAgZnByaW50ZiAoc3RkZXJyLCAiJXNcbiIsIGVycik7CisrICBl eGl0ICgxKTsKKysgICAgICAgIH0KKysgICAgfQorKyAgLyogQ2FsbCBmdW5jIHR3aWNlLiAgKi8K KysgICgqZnVuYykgKCk7CisrCisrICAvKiBDbG9zZSB0aGUgbGlicmFyeSBhbmQgbG9vayBmb3Ig ZXJyb3JzIHRvby4gICovCisrICByZXQgPSBkbGNsb3NlIChkc28pOworKyAgaWYgKHJldCAhPSAw KQorKyAgICB7CisrICAgICAgZXJyID0gZGxlcnJvciAoKTsKKysgICAgICBmcHJpbnRmIChzdGRl cnIsICIlc1xuIiwgZXJyKTsKKysgICAgICBleGl0ICgxKTsKKysgICAgfQorKworK30KKysKKysv KiBFbXB0eSBob29rIHRoYXQgZG9lcyBub3RoaW5nLiAgKi8KKyt2b2lkICoKKytjdXN0b21fbWFs bG9jX2hvb2sgKHNpemVfdCBzaXplLCBjb25zdCB2b2lkICpjYWxsZXIpCisreworKyAgdm9pZCAq cmVzdWx0OworKyAgLyogUmVzdG9yZSBvbGQgaG9va3MuICAqLworKyAgX19tYWxsb2NfaG9vayA9 IG9sZF9tYWxsb2NfaG9vazsKKysgIC8qIEZpcnN0IGNhbGwgYSBmdW5jdGlvbiBpbiBhbm90aGVy IGxpYnJhcnkgdmlhIGRsb3Blbi4gICovCisrICBjYWxsX2Z1bmMgKERTTzEsIEZVTkMxKTsKKysg IC8qIENhbGxlZCByZWN1cnNpdmVseS4gICovCisrICByZXN1bHQgPSBtYWxsb2MgKHNpemUpOwor KyAgLyogUmVzdG9yZSBuZXcgaG9va3MuICAqLworKyAgX19tYWxsb2NfaG9vayA9IGN1c3RvbV9t YWxsb2NfaG9vazsKKysgIHJldHVybiByZXN1bHQ7CisrfQorKworK2ludAorK21haW4gKHZvaWQp CisreworKworKyAgLyogU2F2ZSBvbGQgaG9vay4gICovCisrICBvbGRfbWFsbG9jX2hvb2sgPSBf X21hbGxvY19ob29rOworKyAgLyogSW5zdGFsbCBuZXcgaG9vay4gICovCisrICBfX21hbGxvY19o b29rID0gY3VzdG9tX21hbGxvY19ob29rOworKworKyAgLyogQXR0ZW1wdCB0byBkbG9wZW4gYSBz aGFyZWQgbGlicmFyeS4gVGhpcyBkbG9wZW4gd2lsbAorKyAgICAgdHJpZ2dlciBhbiBhY2Nlc3Mg dG8gdGhlIGxkLnNvLmNhY2hlLCBhbmQgdGhhdCBpbiB0dXJuCisrICAgICB3aWxsIHJlcXVpcmUg YSBtYWxsb2MgdG8gZHVwbGljYXRlIGRhdGEgaW4gdGhlIGNhY2hlLgorKyAgICAgVGhlIG1hbGxv YyB3aWxsIGNhbGwgb3VyIG1hbGxvYyBob29rIHdoaWNoIGNhbGxzIGRsb3BlbgorKyAgICAgcmVj dXJzaXZlbHksIGFuZCB1cG9uIHJldHVybiBvZiB0aGlzIGRsb3BlbiB0aGUgbm9uLXJlZgorKyAg ICAgY291bnRlZCBsZC5zby5jYWNoZSBtYXBwaW5nIHdpbGwgYmUgdW5tYXBwZWQuIFdlIHdpbGwK KysgICAgIHJldHVybiB0byB0aGUgb3JpZ2luYWwgZGxvcGVuIGFuZCBjcmFzaCB0cnlpbmcgdG8g YWNjZXNzCisrICAgICBkbG9wZW5lZCBkYXRhLiAgKi8KKysgIGNhbGxfZnVuYyAoRFNPLCBGVU5D KTsKKysKKysgIC8qIFJlc3RvcmUgb2xkIGhvb2suICAqLworKyAgX19tYWxsb2NfaG9vayA9IG9s ZF9tYWxsb2NfaG9vazsKKysKKysgIHJldHVybiAwOworK30KK0luZGV4OiBnZGItNy4xMi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLmV4cAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTky LXJlY3Vyc2l2ZS1kbG9wZW4uZXhwCTIwMTYtMTAtMjAgMjE6MDY6MDEuMDczNjEzNTQ1ICswMjAw CitAQCAtMCwwICsxLDExOCBAQAorKyMgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKytpZiB7 IFtza2lwX3NobGliX3Rlc3RzXSB9IHsKKysgIHJldHVybiAwCisrfQorKworKyMgTGlicmFyeSBm b28KKytzZXQgbGlibmFtZTEgImdkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmZv byIKKytzZXQgc3JjZmlsZV9saWIxICR7c3JjZGlyfS8ke3N1YmRpcn0vJHtsaWJuYW1lMX0uYwor K3NldCBiaW5maWxlX2xpYjEgW3N0YW5kYXJkX291dHB1dF9maWxlICR7bGlibmFtZTF9LnNvXQor KyMgTGlicmFyeSBiYXIKKytzZXQgbGlibmFtZTIgImdkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUt ZGxvcGVuLWxpYmJhciIKKytzZXQgc3JjZmlsZV9saWIyICR7c3JjZGlyfS8ke3N1YmRpcn0vJHts aWJuYW1lMn0uYworK3NldCBiaW5maWxlX2xpYjIgW3N0YW5kYXJkX291dHB1dF9maWxlICR7bGli bmFtZTJ9LnNvXQorKworK3NldCB0ZXN0ZmlsZSAiZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1k bG9wZW4iCisrc2V0IHNyY2ZpbGUgJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3Rlc3RmaWxlfS5jCisr c2V0IGV4ZWN1dGFibGUgJHt0ZXN0ZmlsZX0KKytzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0 X2ZpbGUgJHtleGVjdXRhYmxlfV0KKysKKytpZiB7IFtnZGJfY29tcGlsZV9zaGxpYiAke3NyY2Zp bGVfbGliMX0gJHtiaW5maWxlX2xpYjF9IFwKKysJeyBkZWJ1ZyAiYWRkaXRpb25hbF9mbGFncz0t ZlBJQyIgfV0gIT0gIiIgfSB7CisrICAgIHVudGVzdGVkICJDb3VsZCBub3QgY29tcGlsZSAke2Jp bmZpbGVfbGliMX0iCisrICAgIHJldHVybiAtMQorK30KKysKKytpZiB7IFtnZGJfY29tcGlsZV9z aGxpYiAke3NyY2ZpbGVfbGliMn0gJHtiaW5maWxlX2xpYjJ9IFwKKysJeyBkZWJ1ZyAiYWRkaXRp b25hbF9mbGFncz0tZlBJQyIgfV0gIT0gIiIgfSB7CisrICAgIHVudGVzdGVkICJDb3VsZCBub3Qg Y29tcGlsZSAke2JpbmZpbGVfbGliMn0iCisrICAgIHJldHVybiAtMQorK30KKysKKytzZXQgb3B0 cyAiIgorK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7ZXhlY3V0 YWJsZX0gJHtzcmNmaWxlfSBcCisrCVsgbGlzdCBkZWJ1ZyBzaGxpYl9sb2FkICJhZGRpdGlvbmFs X2ZsYWdzPS1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMgLVdsLCR7YmluZmlsZV9saWIxfSwt cnBhdGgsW2ZpbGUgZGlybmFtZSAke2JpbmZpbGVfbGliMX1dLCR7YmluZmlsZV9saWIyfSwtcnBh dGgsW2ZpbGUgZGlybmFtZSAke2JpbmZpbGVfbGliMn1dIiBdXSB9IHsKKysgICAgdW50ZXN0ZWQg IkNvdWxkIG5vdCBjb21waWxlICR7ZXhlY3V0YWJsZX0iCisrICAgIHJldHVybiAtMQorK30KKysK Kytwcm9jIGRvX3Rlc3QgeyBoYXNfbGliZm9vIGhhc19saWJiYXIgcGFzcyB9IHsKKysgIGdsb2Jh bCBoZXggYmluZmlsZV9saWIyIGJpbmZpbGVfbGliMSBnZGJfcHJvbXB0CisrICBzZXQgbGliYmFy X21hdGNoICJbc3RyaW5nX3RvX3JlZ2V4cCAkYmluZmlsZV9saWIyXSIKKysgIHNldCBsaWJmb29f bWF0Y2ggIltzdHJpbmdfdG9fcmVnZXhwICRiaW5maWxlX2xpYjFdIgorKworKyAgd2l0aF90ZXN0 X3ByZWZpeCAicGFzcyAjJHBhc3MiIHsKKysgICAgZ2RiX3Rlc3RfbXVsdGlwbGUgImluZm8gc2hh cmVkIiAiaW5mbyBzaGFyZWQiIHsKKysgICAgICAtcmUgIi4qJGxpYmZvb19tYXRjaFxyXG4uKiRs aWJiYXJfbWF0Y2hcKFxyXG4uKlNoYXJlZCBsaWJyYXJ5IGlzIG1pc3NpbmcuKlwpP1xyXG4ke2dk Yl9wcm9tcHR9ICQiIHsKKysJaWYgeyAkaGFzX2xpYmZvbyAmJiAkaGFzX2xpYmJhciB9IHsKKysJ ICBwYXNzICJtYXRjaGVkIGxpYmZvbyBhbmQgbGliYmFyIgorKwl9IGVsc2UgeworKwkgIGZhaWwg Im1hdGNoZWQgbGliZm9vIGFuZCBsaWJiYXIgKGhhc19saWJmb28gPSAkaGFzX2xpYmZvbywgaGFz X2xpYmJhciA9ICRoYXNfbGliYmFyKSIKKysJfQorKyAgICAgIH0KKysgICAgICAtcmUgIi4qJGxp YmZvb19tYXRjaFwoXHJcbi4qU2hhcmVkIGxpYnJhcnkgaXMgbWlzc2luZy4qXCk/XHJcbiR7Z2Ri X3Byb21wdH0gJCIgeworKwlpZiB7ICRoYXNfbGliZm9vICYmICEkaGFzX2xpYmJhciB9IHsKKysJ ICBwYXNzICJtYXRjaGVkIGxpYmZvbyIKKysJfSBlbHNlIHsKKysJICBmYWlsICJtYXRjaGVkIGxp YmZvbyAoaGFzX2xpYmZvbyA9ICRoYXNfbGliZm9vLCBoYXNfbGliYmFyID0gJGhhc19saWJiYXIp IgorKwl9CisrICAgICAgfQorKyAgICAgIC1yZSAiLiokbGliYmFyX21hdGNoXChcclxuLipTaGFy ZWQgbGlicmFyeSBpcyBtaXNzaW5nLipcKT9cclxuJHtnZGJfcHJvbXB0fSAkIiB7CisrCWlmIHsg JGhhc19saWJiYXIgJiYgISRoYXNfbGliZm9vIH0geworKwkgIHBhc3MgIm1hdGNoZWQgbGliYmFy IgorKwl9IGVsc2UgeworKwkgIGZhaWwgIm1hdGNoZWQgbGliYmFyIChoYXNfbGliZm9vID0gJGhh c19saWJmb28sIGhhc19saWJiYXIgPSAkaGFzX2xpYmJhcikiCisrCX0KKysgICAgICB9CisrICAg ICAgIiR7Z2RiX3Byb21wdH0gJCIgeworKwlpZiB7ICEkaGFzX2xpYmZvbyAmJiAhJGhhc19saWJi YXIgfSB7CisrCSAgcGFzcyAiZGlkIG5vdCBtYXRjaCBsaWJmb28gbm9yIGxpYmJhciIKKysJfSBl bHNlIHsKKysJICBmYWlsICJkaWQgbm90IG1hdGNoIGxpYmZvbyBub3IgbGliYmFyIChoYXNfbGli Zm9vID0gJGhhc19saWJmb28sIGhhc19saWJiYXIgPSAkaGFzX2xpYmJhcikiCisrCX0KKysgICAg ICB9CisrICAgIH0KKysgIH0KKyt9CisrCisrcHJvYyB0ZXN0X3N0b3Bfb25fc29saWJfZXZlbnRz IHsgfSB7CisrICBzZXQgcGFzcyAwCisrICAjIFRoaXMgdmFyaWFibGUgaG9sZHMgdGhlIGluZm9y bWF0aW9uIGFib3V0IHdoZXRoZXIgbGliZm9vIGFuZAorKyAgIyBsaWJiYXIgKHJlc3BlY3RpdmVs eSkgYXJlIGV4cGVjdGVkIGluIHRoZSAiaW5mbyBzaGFyZWQiIG91dHB1dC4KKysgIHNldCBzb2xp Yl9ldmVudF9vcmRlciB7IHsgMCAwIH0geyAwIDAgfSB7IDAgMCB9IHsgMCAxIH0gXAorKwkJCSAg eyAwIDEgfSB7IDAgMCB9IHsgMCAwIH0geyAwIDEgfSBcCisrCQkJICB7IDAgMSB9IHsgMCAwIH0g eyAwIDAgfSB7IDAgMSB9IFwKKysJCQkgIHsgMCAxIH0geyAwIDAgfSB7IDEgMCB9IHsgMSAxIH0g XAorKwkJCSAgeyAxIDEgfSB7IDEgMCB9IHsgMSAwIH0geyAxIDEgfSBcCisrCQkJICB7IDEgMSB9 IHsgMSAwIH0geyAxIDAgfSB7IDEgMCB9IH0KKysKKysgIHdpdGhfdGVzdF9wcmVmaXggInN0b3At b24tc29saWItZXZlbnRzIiB7CisrICAgIGdkYl90ZXN0X25vX291dHB1dCAic2V0IHN0b3Atb24t c29saWItZXZlbnRzIDEiICJzZXR0aW5nIHN0b3Atb24tc29saWItZXZlbnRzIgorKworKyAgICBn ZGJfcnVuX2NtZAorKyAgICBmb3JlYWNoIGwgJHNvbGliX2V2ZW50X29yZGVyIHsKKysgICAgICBp bmNyIHBhc3MKKysgICAgICBkb190ZXN0IFtsaW5kZXggJGwgMF0gW2xpbmRleCAkbCAxXSAkcGFz cworKyAgICAgIGdkYl90ZXN0ICJjb250aW51ZSIgIlwoQ2FsbGVkIFwoZm9vXHxiYXJcKVxyXG5c KT9TdG9wcGVkIGR1ZSB0byBzaGFyZWQgbGlicmFyeSBldmVudCIKKysgICAgfQorKyAgICAjIElu IHRoZSBsYXN0IHBhc3Mgd2UgZG8gbm90IGV4cGVjdCB0byBzZWUgbGliZm9vIG9yIGxpYmJhci4K KysgICAgaW5jciBwYXNzCisrICAgIGRvX3Rlc3QgMCAwICRwYXNzCisrICB9CisrfQorKworK3Rl c3Rfc3RvcF9vbl9zb2xpYl9ldmVudHMKCmRpZmYgLS1naXQgYS9nZGItcmhiejExODY0NzYtaW50 ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRjaCBiL2dkYi1yaGJ6 MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC10ZXN0LnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYWVjZTQKLS0tIC9kZXYvbnVs bAorKysgYi9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1y ZS1zZXQtdGVzdC5wYXRjaApAQCAtMCwwICsxLDEyNSBAQAorQ29tbWVudHMgZnJvbSBTZXJnaW8g RHVyaWdhbiBKdW5pb3I6CisKKyAgVGhlICJwcm9wZXIiIGZpeCBmb3IgdGhpcyB3aG9sZSBwcm9i bGVtIHdvdWxkIGJlIHRvIGJhY2twb3J0IHRoZQorICAiYW1iaWd1b3VzIGxpbmVzcGVjIiBwYXRj aCBzZXJpZXMuICBIb3dldmVyLCBpdCBpcyByZWFsbHkgbm90CisgIHJlY29tbWVuZGVkIHRvIGRv IHRoYXQgZm9yIFJIRUwgR0RCLCBiZWNhdXNlIHRoZSBwYXRjaCBzZXJpZXMgaXMgdG9vCisgIGJp ZyBhbmQgY291bGQgaW50cm9kdWNlIHVud2FudGVkIHJlZ3Jlc3Npb25zLiAgSW5zdGVhZCwgd2hh dCB3ZQorICBjaG9zZSB0byBkbyB3YXMgdG8gcmVwbGFjZSB0aGUgZ2RiX2Fzc2VydCBjYWxsIGJ5 IGEgd2FybmluZyAod2hpY2gKKyAgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbnRpbnVlIHRoZSBkZWJ1 Z2dpbmcgc2Vzc2lvbiksIGFuZCB0ZWxsIHRoZQorICB1c2VyIHRoYXQsIGFsdGhvdWdoIG1vcmUg dGhhbiBvbmUgbG9jYXRpb24gd2FzIGZvdW5kIGZvciBoaXMvaGVyCisgIGJyZWFrcG9pbnQsIG9u bHkgb25lIHdpbGwgYmUgdXNlZC4KKworSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2Ri LmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNl dC1tYWluLmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJo YnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LW1haW4uY2MJ MjAxNi0xMC0yMCAyMTowNjozMS44NDk4NTQxODAgKzAyMDAKK0BAIC0wLDAgKzEsMjIgQEAKKysv KiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAg IENvcHlyaWdodCAyMDE1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysK KysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKytpbnQKKyttYWluIChpbnQg YXJnYywgY2hhciAqYXJndltdKQorK3sKKysgIHJldHVybiAwOworK30KK0luZGV4OiBnZGItNy4x Mi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5x dWFsaWZpZWQtbmFtZS1yZS1zZXQuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRl L2dkYi5jcC9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1y ZS1zZXQuY2MJMjAxNi0xMC0yMCAyMTowNjozMS44NTA4NTQxODggKzAyMDAKK0BAIC0wLDAgKzEs MjYgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2Vy LgorKworKyAgIENvcHlyaWdodCAyMDE1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor KworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKytjbGFzcyBD CisrICB7CisrICAgIHB1YmxpYzoKKysgICAgICBDICgpIHt9CisrICAgICAgQyAoaW50IHgpIHt9 CisrICB9OworKworK0MgYTsKKytDIGIgKDEpOworSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1l LXJlLXNldC5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGIt cmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQuZXhwCTIw MTYtMTAtMjAgMjE6MDk6MzMuNDA4MjcwNTI2ICswMjAwCitAQCAtMCwwICsxLDUxIEBACisrIyBD b3B5cmlnaHQgMjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysjIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisraWYgeyBbc2tpcF9jcGx1c190ZXN0c10gfSB7IGNv bnRpbnVlIH0KKytpZiB7IFtza2lwX3NobGliX3Rlc3RzXSB9IHsgY29udGludWUgfQorK2lmIHsg W2lzX3JlbW90ZSB0YXJnZXRdIH0geyBjb250aW51ZSB9CisraWYgeyBbdGFyZ2V0X2luZm8gZXhp c3RzIHVzZV9nZGJfc3R1Yl0gfSB7IGNvbnRpbnVlIH0KKysKKytzZXQgdGVzdGZpbGUgZ2RiLXJo YnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LW1haW4KKytz ZXQgc3JjZmlsZSAkdGVzdGZpbGUuY2MKKytzZXQgZXhlY3V0YWJsZSAkdGVzdGZpbGUKKytzZXQg YmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJGV4ZWN1dGFibGVdCisrCisrc2V0IGxpYnRl c3RmaWxlIGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJl LXNldAorK3NldCBsaWJzcmNmaWxlICRsaWJ0ZXN0ZmlsZS5jYworK3NldCBzb2ZpbGUgW3N0YW5k YXJkX291dHB1dF9maWxlIGxpYiRsaWJ0ZXN0ZmlsZS5zb10KKysKKysjIENyZWF0ZSBhbmQgc291 cmNlIHRoZSBmaWxlIHRoYXQgcHJvdmlkZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbXBpbGVy CisrIyB1c2VkIHRvIGNvbXBpbGUgdGhlIHRlc3QgY2FzZS4KKytpZiBbZ2V0X2NvbXBpbGVyX2lu Zm8gImMrKyJdIHsKKysgICAgcmV0dXJuIC0xCisrfQorKworK2lmIHsgW2dkYl9jb21waWxlX3No bGliICRzcmNkaXIvJHN1YmRpci8kbGlic3JjZmlsZSAkc29maWxlIHtkZWJ1ZyBjKysgImFkZGl0 aW9uYWxfZmxhZ3M9LWZQSUMifV0gIT0gIiIKKysgICAgIHx8IFtnZGJfY29tcGlsZSAkc3JjZGly LyRzdWJkaXIvJHNyY2ZpbGUgJGJpbmZpbGUgZXhlY3V0YWJsZSBbbGlzdCBhZGRpdGlvbmFsX2Zs YWdzPS1XbCwtcnBhdGgsW2ZpbGUgZGlybmFtZSAke3NvZmlsZX1dICJjKysiIHNobGliPSR7c29m aWxlfSBdXSAhPSAiIn0geworKyAgICB1bnRlc3RlZCAkbGlidGVzdGZpbGUuZXhwCisrICAgIHJl dHVybiAtMQorK30KKysKKytjbGVhbl9yZXN0YXJ0ICRleGVjdXRhYmxlCisrCisrZ2RiX3Rlc3Rf bm9fb3V0cHV0ICJzZXQgYnJlYWtwb2ludCBwZW5kaW5nIG9uIgorKyMgZ2RiX2JyZWFrcG9pbnQg d291bGQgcHJpbnQgYSBmYWlsdXJlIGJlY2F1c2Ugb2Ygc29tZSB3YXJuaW5nIG1lc3NhZ2VzCisr Z2RiX3Rlc3QgImJyZWFrIEM6OkMiICJCcmVha3BvaW50ICRkZWNpbWFsIFxcKEM6OkNcXCkgcGVu ZGluZy4iCisrCisrI2dkYl90ZXN0ICJydW4iICJ3YXJuaW5nOiBGb3VuZCBtb3JlIHRoYW4gb25l IGxvY2F0aW9uIGZvciBicmVha3BvaW50ICMkZGVjaW1hbDsgb25seSB0aGUgZmlyc3QgbG9jYXRp b24gd2lsbCBiZSB1c2VkLihcclxuKStCcmVha3BvaW50ICRkZWNpbWFsLCBDOjpDLioiCisrZ2Ri X3Rlc3QgInJ1biIKKysKKytnZGJfdGVzdCAiaW5mbyBicmVhayIgIiBpbiBDOjpDXFwoXFwpIGF0 IC4qIGluIEM6OkNcXChpbnRcXCkgYXQgLioiCgpkaWZmIC0tZ2l0IGEvZ2RiLXRlc3QtaXZ5LWJy aWRnZS5wYXRjaCBiL2dkYi10ZXN0LWl2eS1icmlkZ2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uOWY1NzRjMwotLS0gL2Rldi9udWxsCisrKyBiL2dkYi10ZXN0LWl2 eS1icmlkZ2UucGF0Y2gKQEAgLTAsMCArMSw0NjEgQEAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL2FtZDY0LWl2eS1icmlkZ2UuZXhwCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMTIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLmV4cAkyMDE2LTEwLTIwIDIw OjU3OjMxLjY1MjYzMDQ1NSArMDIwMAorQEAgLTAsMCArMSwxNzAgQEAKKysjIENvcHlyaWdodCAy MDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyMgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysj IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4KKysKKytpZiB7IVtpc3RhcmdldCAieDg2XzY0LSotKiJdfSB0aGVuIHsKKysg ICAgcmV0dXJuCisrfQorKworK3NldCB0ZXN0ZmlsZSBhbWQ2NC1pdnktYnJpZGdlCisrc2V0IHRl c3QgY29tcGlsYXRpb24KKytpZiBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAg JHt0ZXN0ZmlsZX0ueCAke3Rlc3RmaWxlfS5TIFtsaXN0IGRlYnVnICJhZGRpdGlvbmFsX2ZsYWdz PS1tNjQgLW5vc3RkbGliIl1dIHsKKysgICAgZmFpbCAkdGVzdAorKyAgICByZXR1cm4gLTEKKyt9 CisrcGFzcyAkdGVzdAorKworK2dkYl90ZXN0X25vX291dHB1dCAic2V0IGRpc2Fzc2VtYmx5LWZs YXZvciBhdHQiCisrIyBnYXMvaTM4Ni94ODYtNjQtcmRybmQuZAorKyMgZ2FzL2kzODYveDg2LTY0 LWYxNmMuZAorKyMgZ2FzL2kzODYveDg2LTY0LWZzZ3MuZAorK2dkYl90ZXN0ICJkaXNhc3NlbWJs ZS9yIF9zdGFydCIgIlxyCisrRHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmb3IgZnVuY3Rpb24gX3N0 YXJ0OlxyCisrXFteXHJcblxdKzpcdDY2IDBmIGM3IGYzXHRcKCAgICAgICAgICAgICBcKT9yZHJh bmQgJWJ4XHIKKytcW15cclxuXF0rOlx0MGYgYzcgZjNcdFwoICAgICAgICAgICAgICAgIFwpP3Jk cmFuZCAlZWJ4XHIKKytcW15cclxuXF0rOlx0NDggMGYgYzcgZjNcdFwoICAgICAgICAgICAgIFwp P3JkcmFuZCAlcmJ4XHIKKytcW15cclxuXF0rOlx0NjYgNDEgMGYgYzcgZjBcdFwoICAgICAgICAg IFwpP3JkcmFuZCAlcjh3XHIKKytcW15cclxuXF0rOlx0NDEgMGYgYzcgZjBcdFwoICAgICAgICAg ICAgIFwpP3JkcmFuZCAlcjhkXHIKKytcW15cclxuXF0rOlx0NDkgMGYgYzcgZjBcdFwoICAgICAg ICAgICAgIFwpP3JkcmFuZCAlcjhccgorK1xbXlxyXG5cXSs6XHQ2NiAwZiBjNyBmM1x0XCggICAg ICAgICAgICAgXCk/cmRyYW5kICVieFxyCisrXFteXHJcblxdKzpcdDBmIGM3IGYzXHRcKCAgICAg ICAgICAgICAgICBcKT9yZHJhbmQgJWVieFxyCisrXFteXHJcblxdKzpcdDQ4IDBmIGM3IGYzXHRc KCAgICAgICAgICAgICBcKT9yZHJhbmQgJXJieFxyCisrXFteXHJcblxdKzpcdDY2IDQxIDBmIGM3 IGYwXHRcKCAgICAgICAgICBcKT9yZHJhbmQgJXI4d1xyCisrXFteXHJcblxdKzpcdDQxIDBmIGM3 IGYwXHRcKCAgICAgICAgICAgICBcKT9yZHJhbmQgJXI4ZFxyCisrXFteXHJcblxdKzpcdDQ5IDBm IGM3IGYwXHRcKCAgICAgICAgICAgICBcKT9yZHJhbmQgJXI4XHIKKytcW15cclxuXF0rOlx0YzQg ZTIgN2QgMTMgZTRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyAleG1tNCwleW1tNFxyCisrXFte XHJcblxdKzpcdGM0IDQyIDdkIDEzIDAwXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgXFwoJXI4 XFwpLCV5bW04XHIKKytcW15cclxuXF0rOlx0YzQgZTIgNzkgMTMgZjRcdFwoICAgICAgICAgIFwp P3ZjdnRwaDJwcyAleG1tNCwleG1tNlxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIDIxXHRc KCAgICAgICAgICBcKT92Y3Z0cGgycHMgXFwoJXJjeFxcKSwleG1tNFxyCisrXFteXHJcblxdKzpc dGM0IGUzIDdkIDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggXFxcJDB4MiwleW1tNCwl eG1tNFxyCisrXFteXHJcblxdKzpcdGM0IDQzIDdkIDFkIDAwIDAyXHRcKCAgICAgICBcKT92Y3Z0 cHMycGggXFxcJDB4MiwleW1tOCxcXCglcjhcXClccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3OSAx ZCBlNCAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBoIFxcXCQweDIsJXhtbTQsJXhtbTRccgorK1xb XlxyXG5cXSs6XHRjNCBlMyA3OSAxZCAyMSAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBoIFxcXCQw eDIsJXhtbTQsXFwoJXJjeFxcKVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDdkIDEzIGU0XHRcKCAg ICAgICAgICBcKT92Y3Z0cGgycHMgJXhtbTQsJXltbTRccgorK1xbXlxyXG5cXSs6XHRjNCA0MiA3 ZCAxMyAwMFx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIFxcKCVyOFxcKSwleW1tOFxyCisrXFte XHJcblxdKzpcdGM0IGUyIDdkIDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgXFwoJXJj eFxcKSwleW1tNFxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIGY0XHRcKCAgICAgICAgICBc KT92Y3Z0cGgycHMgJXhtbTQsJXhtbTZccgorK1xbXlxyXG5cXSs6XHRjNCBlMiA3OSAxMyAyMVx0 XCggICAgICAgICAgXCk/dmN2dHBoMnBzIFxcKCVyY3hcXCksJXhtbTRccgorK1xbXlxyXG5cXSs6 XHRjNCBlMiA3OSAxMyAyMVx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIFxcKCVyY3hcXCksJXht bTRccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCBlNCAwMlx0XCggICAgICAgXCk/dmN2dHBz MnBoIFxcXCQweDIsJXltbTQsJXhtbTRccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCAyMSAw Mlx0XCggICAgICAgXCk/dmN2dHBzMnBoIFxcXCQweDIsJXltbTQsXFwoJXJjeFxcKVxyCisrXFte XHJcblxdKzpcdGM0IGUzIDdkIDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggXFxcJDB4 MiwleW1tNCxcXCglcmN4XFwpXHIKKytcW15cclxuXF0rOlx0YzQgZTMgNzkgMWQgZTQgMDJcdFwo ICAgICAgIFwpP3ZjdnRwczJwaCBcXFwkMHgyLCV4bW00LCV4bW00XHIKKytcW15cclxuXF0rOlx0 YzQgNDMgNzkgMWQgMDAgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBcXFwkMHgyLCV4bW04LFxc KCVyOFxcKVxyCisrXFteXHJcblxdKzpcdGM0IGUzIDc5IDFkIDIxIDAyXHRcKCAgICAgICBcKT92 Y3Z0cHMycGggXFxcJDB4MiwleG1tNCxcXCglcmN4XFwpXHIKKytcW15cclxuXF0rOlx0ZjMgMGYg YWUgYzNcdFwoICAgICAgICAgICAgIFwpP3JkZnNiYXNlICVlYnhccgorK1xbXlxyXG5cXSs6XHRm MyA0OCAwZiBhZSBjM1x0XCggICAgICAgICAgXCk/cmRmc2Jhc2UgJXJieFxyCisrXFteXHJcblxd KzpcdGYzIDQxIDBmIGFlIGMwXHRcKCAgICAgICAgICBcKT9yZGZzYmFzZSAlcjhkXHIKKytcW15c clxuXF0rOlx0ZjMgNDkgMGYgYWUgYzBcdFwoICAgICAgICAgIFwpP3JkZnNiYXNlICVyOFxyCisr XFteXHJcblxdKzpcdGYzIDBmIGFlIGNiXHRcKCAgICAgICAgICAgICBcKT9yZGdzYmFzZSAlZWJ4 XHIKKytcW15cclxuXF0rOlx0ZjMgNDggMGYgYWUgY2JcdFwoICAgICAgICAgIFwpP3JkZ3NiYXNl ICVyYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0MSAwZiBhZSBjOFx0XCggICAgICAgICAgXCk/cmRn c2Jhc2UgJXI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGM4XHRcKCAgICAgICAgICBc KT9yZGdzYmFzZSAlcjhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBkM1x0XCggICAgICAgICAg ICAgXCk/d3Jmc2Jhc2UgJWVieFxyCisrXFteXHJcblxdKzpcdGYzIDQ4IDBmIGFlIGQzXHRcKCAg ICAgICAgICBcKT93cmZzYmFzZSAlcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgZDBc dFwoICAgICAgICAgIFwpP3dyZnNiYXNlICVyOGRccgorK1xbXlxyXG5cXSs6XHRmMyA0OSAwZiBh ZSBkMFx0XCggICAgICAgICAgXCk/d3Jmc2Jhc2UgJXI4XHIKKytcW15cclxuXF0rOlx0ZjMgMGYg YWUgZGJcdFwoICAgICAgICAgICAgIFwpP3dyZ3NiYXNlICVlYnhccgorK1xbXlxyXG5cXSs6XHRm MyA0OCAwZiBhZSBkYlx0XCggICAgICAgICAgXCk/d3Jnc2Jhc2UgJXJieFxyCisrXFteXHJcblxd KzpcdGYzIDQxIDBmIGFlIGQ4XHRcKCAgICAgICAgICBcKT93cmdzYmFzZSAlcjhkXHIKKytcW15c clxuXF0rOlx0ZjMgNDkgMGYgYWUgZDhcdFwoICAgICAgICAgIFwpP3dyZ3NiYXNlICVyOFxyCisr XFteXHJcblxdKzpcdGYzIDBmIGFlIGMzXHRcKCAgICAgICAgICAgICBcKT9yZGZzYmFzZSAlZWJ4 XHIKKytcW15cclxuXF0rOlx0ZjMgNDggMGYgYWUgYzNcdFwoICAgICAgICAgIFwpP3JkZnNiYXNl ICVyYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0MSAwZiBhZSBjMFx0XCggICAgICAgICAgXCk/cmRm c2Jhc2UgJXI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGMwXHRcKCAgICAgICAgICBc KT9yZGZzYmFzZSAlcjhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBjYlx0XCggICAgICAgICAg ICAgXCk/cmRnc2Jhc2UgJWVieFxyCisrXFteXHJcblxdKzpcdGYzIDQ4IDBmIGFlIGNiXHRcKCAg ICAgICAgICBcKT9yZGdzYmFzZSAlcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgYzhc dFwoICAgICAgICAgIFwpP3JkZ3NiYXNlICVyOGRccgorK1xbXlxyXG5cXSs6XHRmMyA0OSAwZiBh ZSBjOFx0XCggICAgICAgICAgXCk/cmRnc2Jhc2UgJXI4XHIKKytcW15cclxuXF0rOlx0ZjMgMGYg YWUgZDNcdFwoICAgICAgICAgICAgIFwpP3dyZnNiYXNlICVlYnhccgorK1xbXlxyXG5cXSs6XHRm MyA0OCAwZiBhZSBkM1x0XCggICAgICAgICAgXCk/d3Jmc2Jhc2UgJXJieFxyCisrXFteXHJcblxd KzpcdGYzIDQxIDBmIGFlIGQwXHRcKCAgICAgICAgICBcKT93cmZzYmFzZSAlcjhkXHIKKytcW15c clxuXF0rOlx0ZjMgNDkgMGYgYWUgZDBcdFwoICAgICAgICAgIFwpP3dyZnNiYXNlICVyOFxyCisr XFteXHJcblxdKzpcdGYzIDBmIGFlIGRiXHRcKCAgICAgICAgICAgICBcKT93cmdzYmFzZSAlZWJ4 XHIKKytcW15cclxuXF0rOlx0ZjMgNDggMGYgYWUgZGJcdFwoICAgICAgICAgIFwpP3dyZ3NiYXNl ICVyYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0MSAwZiBhZSBkOFx0XCggICAgICAgICAgXCk/d3Jn c2Jhc2UgJXI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGQ4XHRcKCAgICAgICAgICBc KT93cmdzYmFzZSAlcjhccgorK0VuZCBvZiBhc3NlbWJsZXIgZHVtcFxcLiIgImF0dCIKKysKKytn ZGJfdGVzdF9ub19vdXRwdXQgInNldCBkaXNhc3NlbWJseS1mbGF2b3IgaW50ZWwiCisrIyBnYXMv aTM4Ni94ODYtNjQtcmRybmQtaW50ZWwuZAorKyMgZ2FzL2kzODYveDg2LTY0LWYxNmMtaW50ZWwu ZAorKyMgZ2FzL2kzODYveDg2LTY0LWZzZ3MtaW50ZWwuZAorK2dkYl90ZXN0ICJkaXNhc3NlbWJs ZS9yIF9zdGFydCIgIlxyCisrRHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmb3IgZnVuY3Rpb24gX3N0 YXJ0OlxyCisrXFteXHJcblxdKzpcdDY2IDBmIGM3IGYzXHRcKCAgICAgICAgICAgICBcKT9yZHJh bmQgYnhccgorK1xbXlxyXG5cXSs6XHQwZiBjNyBmM1x0XCggICAgICAgICAgICAgICAgXCk/cmRy YW5kIGVieFxyCisrXFteXHJcblxdKzpcdDQ4IDBmIGM3IGYzXHRcKCAgICAgICAgICAgICBcKT9y ZHJhbmQgcmJ4XHIKKytcW15cclxuXF0rOlx0NjYgNDEgMGYgYzcgZjBcdFwoICAgICAgICAgIFwp P3JkcmFuZCByOHdccgorK1xbXlxyXG5cXSs6XHQ0MSAwZiBjNyBmMFx0XCggICAgICAgICAgICAg XCk/cmRyYW5kIHI4ZFxyCisrXFteXHJcblxdKzpcdDQ5IDBmIGM3IGYwXHRcKCAgICAgICAgICAg ICBcKT9yZHJhbmQgcjhccgorK1xbXlxyXG5cXSs6XHQ2NiAwZiBjNyBmM1x0XCggICAgICAgICAg ICAgXCk/cmRyYW5kIGJ4XHIKKytcW15cclxuXF0rOlx0MGYgYzcgZjNcdFwoICAgICAgICAgICAg ICAgIFwpP3JkcmFuZCBlYnhccgorK1xbXlxyXG5cXSs6XHQ0OCAwZiBjNyBmM1x0XCggICAgICAg ICAgICAgXCk/cmRyYW5kIHJieFxyCisrXFteXHJcblxdKzpcdDY2IDQxIDBmIGM3IGYwXHRcKCAg ICAgICAgICBcKT9yZHJhbmQgcjh3XHIKKytcW15cclxuXF0rOlx0NDEgMGYgYzcgZjBcdFwoICAg ICAgICAgICAgIFwpP3JkcmFuZCByOGRccgorK1xbXlxyXG5cXSs6XHQ0OSAwZiBjNyBmMFx0XCgg ICAgICAgICAgICAgXCk/cmRyYW5kIHI4XHIKKytcW15cclxuXF0rOlx0YzQgZTIgN2QgMTMgZTRc dFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyB5bW00LHhtbTRccgorK1xbXlxyXG5cXSs6XHRjNCA0 MiA3ZCAxMyAwMFx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIHltbTgsWE1NV09SRCBQVFIgXFxc W3I4XFxcXVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIGY0XHRcKCAgICAgICAgICBcKT92 Y3Z0cGgycHMgeG1tNix4bW00XHIKKytcW15cclxuXF0rOlx0YzQgZTIgNzkgMTMgMjFcdFwoICAg ICAgICAgIFwpP3ZjdnRwaDJwcyB4bW00LFFXT1JEIFBUUiBcXFxbcmN4XFxcXVxyCisrXFteXHJc blxdKzpcdGM0IGUzIDdkIDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggeG1tNCx5bW00 LDB4MlxyCisrXFteXHJcblxdKzpcdGM0IDQzIDdkIDFkIDAwIDAyXHRcKCAgICAgICBcKT92Y3Z0 cHMycGggWE1NV09SRCBQVFIgXFxcW3I4XFxcXSx5bW04LDB4MlxyCisrXFteXHJcblxdKzpcdGM0 IGUzIDc5IDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggeG1tNCx4bW00LDB4MlxyCisr XFteXHJcblxdKzpcdGM0IGUzIDc5IDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggUVdP UkQgUFRSIFxcXFtyY3hcXFxdLHhtbTQsMHgyXHIKKytcW15cclxuXF0rOlx0YzQgZTIgN2QgMTMg ZTRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyB5bW00LHhtbTRccgorK1xbXlxyXG5cXSs6XHRj NCA0MiA3ZCAxMyAwMFx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIHltbTgsWE1NV09SRCBQVFIg XFxcW3I4XFxcXVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDdkIDEzIDIxXHRcKCAgICAgICAgICBc KT92Y3Z0cGgycHMgeW1tNCxYTU1XT1JEIFBUUiBcXFxbcmN4XFxcXVxyCisrXFteXHJcblxdKzpc dGM0IGUyIDc5IDEzIGY0XHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgeG1tNix4bW00XHIKKytc W15cclxuXF0rOlx0YzQgZTIgNzkgMTMgMjFcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyB4bW00 LFFXT1JEIFBUUiBcXFxbcmN4XFxcXVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIDIxXHRc KCAgICAgICAgICBcKT92Y3Z0cGgycHMgeG1tNCxRV09SRCBQVFIgXFxcW3JjeFxcXF1ccgorK1xb XlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCBlNCAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBoIHhtbTQs eW1tNCwweDJccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCAyMSAwMlx0XCggICAgICAgXCk/ dmN2dHBzMnBoIFhNTVdPUkQgUFRSIFxcXFtyY3hcXFxdLHltbTQsMHgyXHIKKytcW15cclxuXF0r Olx0YzQgZTMgN2QgMWQgMjEgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBYTU1XT1JEIFBUUiBc XFxbcmN4XFxcXSx5bW00LDB4MlxyCisrXFteXHJcblxdKzpcdGM0IGUzIDc5IDFkIGU0IDAyXHRc KCAgICAgICBcKT92Y3Z0cHMycGggeG1tNCx4bW00LDB4MlxyCisrXFteXHJcblxdKzpcdGM0IDQz IDc5IDFkIDAwIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggUVdPUkQgUFRSIFxcXFtyOFxcXF0s eG1tOCwweDJccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3OSAxZCAyMSAwMlx0XCggICAgICAgXCk/ dmN2dHBzMnBoIFFXT1JEIFBUUiBcXFxbcmN4XFxcXSx4bW00LDB4MlxyCisrXFteXHJcblxdKzpc dGYzIDBmIGFlIGMzXHRcKCAgICAgICAgICAgICBcKT9yZGZzYmFzZSBlYnhccgorK1xbXlxyXG5c XSs6XHRmMyA0OCAwZiBhZSBjM1x0XCggICAgICAgICAgXCk/cmRmc2Jhc2UgcmJ4XHIKKytcW15c clxuXF0rOlx0ZjMgNDEgMGYgYWUgYzBcdFwoICAgICAgICAgIFwpP3JkZnNiYXNlIHI4ZFxyCisr XFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGMwXHRcKCAgICAgICAgICBcKT9yZGZzYmFzZSByOFxy CisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGNiXHRcKCAgICAgICAgICAgICBcKT9yZGdzYmFzZSBl YnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBjYlx0XCggICAgICAgICAgXCk/cmRnc2Jh c2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgYzhcdFwoICAgICAgICAgIFwpP3Jk Z3NiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGM4XHRcKCAgICAgICAgICBc KT9yZGdzYmFzZSByOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGQzXHRcKCAgICAgICAgICAg ICBcKT93cmZzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBkM1x0XCggICAg ICAgICAgXCk/d3Jmc2Jhc2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgZDBcdFwo ICAgICAgICAgIFwpP3dyZnNiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGQw XHRcKCAgICAgICAgICBcKT93cmZzYmFzZSByOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGRi XHRcKCAgICAgICAgICAgICBcKT93cmdzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAw ZiBhZSBkYlx0XCggICAgICAgICAgXCk/d3Jnc2Jhc2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMg NDEgMGYgYWUgZDhcdFwoICAgICAgICAgIFwpP3dyZ3NiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpc dGYzIDQ5IDBmIGFlIGQ4XHRcKCAgICAgICAgICBcKT93cmdzYmFzZSByOFxyCisrXFteXHJcblxd KzpcdGYzIDBmIGFlIGMzXHRcKCAgICAgICAgICAgICBcKT9yZGZzYmFzZSBlYnhccgorK1xbXlxy XG5cXSs6XHRmMyA0OCAwZiBhZSBjM1x0XCggICAgICAgICAgXCk/cmRmc2Jhc2UgcmJ4XHIKKytc W15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgYzBcdFwoICAgICAgICAgIFwpP3JkZnNiYXNlIHI4ZFxy CisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGMwXHRcKCAgICAgICAgICBcKT9yZGZzYmFzZSBy OFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGNiXHRcKCAgICAgICAgICAgICBcKT9yZGdzYmFz ZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBjYlx0XCggICAgICAgICAgXCk/cmRn c2Jhc2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgYzhcdFwoICAgICAgICAgIFwp P3JkZ3NiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGM4XHRcKCAgICAgICAg ICBcKT9yZGdzYmFzZSByOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGQzXHRcKCAgICAgICAg ICAgICBcKT93cmZzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBkM1x0XCgg ICAgICAgICAgXCk/d3Jmc2Jhc2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgZDBc dFwoICAgICAgICAgIFwpP3dyZnNiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFl IGQwXHRcKCAgICAgICAgICBcKT93cmZzYmFzZSByOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFl IGRiXHRcKCAgICAgICAgICAgICBcKT93cmdzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0 OCAwZiBhZSBkYlx0XCggICAgICAgICAgXCk/d3Jnc2Jhc2UgcmJ4XHIKKytcW15cclxuXF0rOlx0 ZjMgNDEgMGYgYWUgZDhcdFwoICAgICAgICAgIFwpP3dyZ3NiYXNlIHI4ZFxyCisrXFteXHJcblxd KzpcdGYzIDQ5IDBmIGFlIGQ4XHRcKCAgICAgICAgICBcKT93cmdzYmFzZSByOFxyCisrRW5kIG9m IGFzc2VtYmxlciBkdW1wXFwuIiAiaW50ZWwiCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9pMzg2LWl2eS1icmlkZ2UuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWl2eS1icmlkZ2UuZXhwCTIwMTYtMTAtMjAgMjA6NTc6NDMu MjUxNzIxMTQ3ICswMjAwCitAQCAtMCwwICsxLDEwNiBAQAorKyMgQ29weXJpZ2h0IDIwMTEgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgorKworK2lmIHshW2lzdGFyZ2V0ICJ4ODZfNjQtKi0qIl0gJiYgIVtpc3RhcmdldCAiaT84 Ni0qLSoiXX0gdGhlbiB7CisrICAgIHJldHVybgorK30KKysKKytzZXQgdGVzdGZpbGUgaTM4Ni1p dnktYnJpZGdlCisrc2V0IHRlc3QgY29tcGlsYXRpb24KKytpZiBbcHJlcGFyZV9mb3JfdGVzdGlu ZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0ueCAke3Rlc3RmaWxlfS5TIFtsaXN0IGRlYnVn ICJhZGRpdGlvbmFsX2ZsYWdzPS1tMzIgLW5vc3RkbGliIl1dIHsKKysgICAgZmFpbCAkdGVzdAor KyAgICByZXR1cm4gLTEKKyt9CisrcGFzcyAkdGVzdAorKworK2dkYl90ZXN0X25vX291dHB1dCAi c2V0IGRpc2Fzc2VtYmx5LWZsYXZvciBhdHQiCisrIyBnYXMvaTM4Ni9yZHJuZC5kCisrIyBnYXMv aTM4Ni9mMTZjLmQKKysjIGdhcy9pMzg2L2ZzZ3MuZAorK2dkYl90ZXN0ICJkaXNhc3NlbWJsZS9y IF9zdGFydCIgIlxyCisrRHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmb3IgZnVuY3Rpb24gX3N0YXJ0 OlxyCisrXFteXHJcblxdKzpcdDY2IDBmIGM3IGYzXHRcKCAgICAgICAgICAgICBcKT9yZHJhbmQg JWJ4XHIKKytcW15cclxuXF0rOlx0MGYgYzcgZjNcdFwoICAgICAgICAgICAgICAgIFwpP3JkcmFu ZCAlZWJ4XHIKKytcW15cclxuXF0rOlx0NjYgMGYgYzcgZjNcdFwoICAgICAgICAgICAgIFwpP3Jk cmFuZCAlYnhccgorK1xbXlxyXG5cXSs6XHQwZiBjNyBmM1x0XCggICAgICAgICAgICAgICAgXCk/ cmRyYW5kICVlYnhccgorK1xbXlxyXG5cXSs6XHRjNCBlMiA3ZCAxMyBlNFx0XCggICAgICAgICAg XCk/dmN2dHBoMnBzICV4bW00LCV5bW00XHIKKytcW15cclxuXF0rOlx0YzQgZTIgN2QgMTMgMjFc dFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyBcXCglZWN4XFwpLCV5bW00XHIKKytcW15cclxuXF0r Olx0YzQgZTIgNzkgMTMgZjRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyAleG1tNCwleG1tNlxy CisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMg XFwoJWVjeFxcKSwleG1tNFxyCisrXFteXHJcblxdKzpcdGM0IGUzIDdkIDFkIGU0IDAyXHRcKCAg ICAgICBcKT92Y3Z0cHMycGggXFxcJDB4MiwleW1tNCwleG1tNFxyCisrXFteXHJcblxdKzpcdGM0 IGUzIDdkIDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggXFxcJDB4MiwleW1tNCxcXCgl ZWN4XFwpXHIKKytcW15cclxuXF0rOlx0YzQgZTMgNzkgMWQgZTQgMDJcdFwoICAgICAgIFwpP3Zj dnRwczJwaCBcXFwkMHgyLCV4bW00LCV4bW00XHIKKytcW15cclxuXF0rOlx0YzQgZTMgNzkgMWQg MjEgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBcXFwkMHgyLCV4bW00LFxcKCVlY3hcXClccgor K1xbXlxyXG5cXSs6XHRjNCBlMiA3ZCAxMyBlNFx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzICV4 bW00LCV5bW00XHIKKytcW15cclxuXF0rOlx0YzQgZTIgN2QgMTMgMjFcdFwoICAgICAgICAgIFwp P3ZjdnRwaDJwcyBcXCglZWN4XFwpLCV5bW00XHIKKytcW15cclxuXF0rOlx0YzQgZTIgN2QgMTMg MjFcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyBcXCglZWN4XFwpLCV5bW00XHIKKytcW15cclxu XF0rOlx0YzQgZTIgNzkgMTMgZjRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyAleG1tNCwleG1t NlxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgy cHMgXFwoJWVjeFxcKSwleG1tNFxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIDIxXHRcKCAg ICAgICAgICBcKT92Y3Z0cGgycHMgXFwoJWVjeFxcKSwleG1tNFxyCisrXFteXHJcblxdKzpcdGM0 IGUzIDdkIDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggXFxcJDB4MiwleW1tNCwleG1t NFxyCisrXFteXHJcblxdKzpcdGM0IGUzIDdkIDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMy cGggXFxcJDB4MiwleW1tNCxcXCglZWN4XFwpXHIKKytcW15cclxuXF0rOlx0YzQgZTMgN2QgMWQg MjEgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBcXFwkMHgyLCV5bW00LFxcKCVlY3hcXClccgor K1xbXlxyXG5cXSs6XHRjNCBlMyA3OSAxZCBlNCAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBoIFxc XCQweDIsJXhtbTQsJXhtbTRccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3OSAxZCAyMSAwMlx0XCgg ICAgICAgXCk/dmN2dHBzMnBoIFxcXCQweDIsJXhtbTQsXFwoJWVjeFxcKVxyCisrXFteXHJcblxd KzpcdGM0IGUzIDc5IDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggXFxcJDB4MiwleG1t NCxcXCglZWN4XFwpXHIKKytcW15cclxuXF0rOlx0ZjMgMGYgYWUgYzNcdFwoICAgICAgICAgICAg IFwpP3JkZnNiYXNlICVlYnhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBjYlx0XCggICAgICAg ICAgICAgXCk/cmRnc2Jhc2UgJWVieFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGQzXHRcKCAg ICAgICAgICAgICBcKT93cmZzYmFzZSAlZWJ4XHIKKytcW15cclxuXF0rOlx0ZjMgMGYgYWUgZGJc dFwoICAgICAgICAgICAgIFwpP3dyZ3NiYXNlICVlYnhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBh ZSBjM1x0XCggICAgICAgICAgICAgXCk/cmRmc2Jhc2UgJWVieFxyCisrXFteXHJcblxdKzpcdGYz IDBmIGFlIGNiXHRcKCAgICAgICAgICAgICBcKT9yZGdzYmFzZSAlZWJ4XHIKKytcW15cclxuXF0r Olx0ZjMgMGYgYWUgZDNcdFwoICAgICAgICAgICAgIFwpP3dyZnNiYXNlICVlYnhccgorK1xbXlxy XG5cXSs6XHRmMyAwZiBhZSBkYlx0XCggICAgICAgICAgICAgXCk/d3Jnc2Jhc2UgJWVieFxyCisr RW5kIG9mIGFzc2VtYmxlciBkdW1wXFwuIiAiYXR0IgorKworK2dkYl90ZXN0X25vX291dHB1dCAi c2V0IGRpc2Fzc2VtYmx5LWZsYXZvciBpbnRlbCIKKysjIGdhcy9pMzg2L3Jkcm5kLWludGVsLmQK KysjIGdhcy9pMzg2L2YxNmMtaW50ZWwuZAorKyMgZ2FzL2kzODYvZnNncy1pbnRlbC5kCisrZ2Ri X3Rlc3QgImRpc2Fzc2VtYmxlL3IgX3N0YXJ0IiAiXHIKKytEdW1wIG9mIGFzc2VtYmxlciBjb2Rl IGZvciBmdW5jdGlvbiBfc3RhcnQ6XHIKKytcW15cclxuXF0rOlx0NjYgMGYgYzcgZjNcdFwoICAg ICAgICAgICAgIFwpP3JkcmFuZCBieFxyCisrXFteXHJcblxdKzpcdDBmIGM3IGYzXHRcKCAgICAg ICAgICAgICAgICBcKT9yZHJhbmQgZWJ4XHIKKytcW15cclxuXF0rOlx0NjYgMGYgYzcgZjNcdFwo ICAgICAgICAgICAgIFwpP3JkcmFuZCBieFxyCisrXFteXHJcblxdKzpcdDBmIGM3IGYzXHRcKCAg ICAgICAgICAgICAgICBcKT9yZHJhbmQgZWJ4XHIKKytcW15cclxuXF0rOlx0YzQgZTIgN2QgMTMg ZTRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyB5bW00LHhtbTRccgorK1xbXlxyXG5cXSs6XHRj NCBlMiA3ZCAxMyAyMVx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIHltbTQsWE1NV09SRCBQVFIg XFxcW2VjeFxcXF1ccgorK1xbXlxyXG5cXSs6XHRjNCBlMiA3OSAxMyBmNFx0XCggICAgICAgICAg XCk/dmN2dHBoMnBzIHhtbTYseG1tNFxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIDIxXHRc KCAgICAgICAgICBcKT92Y3Z0cGgycHMgeG1tNCxRV09SRCBQVFIgXFxcW2VjeFxcXF1ccgorK1xb XlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCBlNCAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBoIHhtbTQs eW1tNCwweDJccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCAyMSAwMlx0XCggICAgICAgXCk/ dmN2dHBzMnBoIFhNTVdPUkQgUFRSIFxcXFtlY3hcXFxdLHltbTQsMHgyXHIKKytcW15cclxuXF0r Olx0YzQgZTMgNzkgMWQgZTQgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCB4bW00LHhtbTQsMHgy XHIKKytcW15cclxuXF0rOlx0YzQgZTMgNzkgMWQgMjEgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJw aCBRV09SRCBQVFIgXFxcW2VjeFxcXF0seG1tNCwweDJccgorK1xbXlxyXG5cXSs6XHRjNCBlMiA3 ZCAxMyBlNFx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIHltbTQseG1tNFxyCisrXFteXHJcblxd KzpcdGM0IGUyIDdkIDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgeW1tNCxYTU1XT1JE IFBUUiBcXFxbZWN4XFxcXVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDdkIDEzIDIxXHRcKCAgICAg ICAgICBcKT92Y3Z0cGgycHMgeW1tNCxYTU1XT1JEIFBUUiBcXFxbZWN4XFxcXVxyCisrXFteXHJc blxdKzpcdGM0IGUyIDc5IDEzIGY0XHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgeG1tNix4bW00 XHIKKytcW15cclxuXF0rOlx0YzQgZTIgNzkgMTMgMjFcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJw cyB4bW00LFFXT1JEIFBUUiBcXFxbZWN4XFxcXVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEz IDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgeG1tNCxRV09SRCBQVFIgXFxcW2VjeFxcXF1c cgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCBlNCAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBo IHhtbTQseW1tNCwweDJccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCAyMSAwMlx0XCggICAg ICAgXCk/dmN2dHBzMnBoIFhNTVdPUkQgUFRSIFxcXFtlY3hcXFxdLHltbTQsMHgyXHIKKytcW15c clxuXF0rOlx0YzQgZTMgN2QgMWQgMjEgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBYTU1XT1JE IFBUUiBcXFxbZWN4XFxcXSx5bW00LDB4MlxyCisrXFteXHJcblxdKzpcdGM0IGUzIDc5IDFkIGU0 IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggeG1tNCx4bW00LDB4MlxyCisrXFteXHJcblxdKzpc dGM0IGUzIDc5IDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggUVdPUkQgUFRSIFxcXFtl Y3hcXFxdLHhtbTQsMHgyXHIKKytcW15cclxuXF0rOlx0YzQgZTMgNzkgMWQgMjEgMDJcdFwoICAg ICAgIFwpP3ZjdnRwczJwaCBRV09SRCBQVFIgXFxcW2VjeFxcXF0seG1tNCwweDJccgorK1xbXlxy XG5cXSs6XHRmMyAwZiBhZSBjM1x0XCggICAgICAgICAgICAgXCk/cmRmc2Jhc2UgZWJ4XHIKKytc W15cclxuXF0rOlx0ZjMgMGYgYWUgY2JcdFwoICAgICAgICAgICAgIFwpP3JkZ3NiYXNlIGVieFxy CisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGQzXHRcKCAgICAgICAgICAgICBcKT93cmZzYmFzZSBl YnhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBkYlx0XCggICAgICAgICAgICAgXCk/d3Jnc2Jh c2UgZWJ4XHIKKytcW15cclxuXF0rOlx0ZjMgMGYgYWUgYzNcdFwoICAgICAgICAgICAgIFwpP3Jk ZnNiYXNlIGVieFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGNiXHRcKCAgICAgICAgICAgICBc KT9yZGdzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBkM1x0XCggICAgICAgICAg ICAgXCk/d3Jmc2Jhc2UgZWJ4XHIKKytcW15cclxuXF0rOlx0ZjMgMGYgYWUgZGJcdFwoICAgICAg ICAgICAgIFwpP3dyZ3NiYXNlIGVieFxyCisrRW5kIG9mIGFzc2VtYmxlciBkdW1wXFwuIiAiaW50 ZWwiCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJp ZGdlLlMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWl2 eS1icmlkZ2UuUwkyMDE2LTEwLTIwIDIwOjU1OjUwLjg1Mzg0MjMyNCArMDIwMAorQEAgLTAsMCAr MSw5OCBAQAorKy8qIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAg IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKyAgIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRlLiAgKi8KKysKKysJLmdsb2JsIF9zdGFy dAorK19zdGFydDoJLnRleHQKKysKKysvKiBnYXMvaTM4Ni94ODYtNjQtcmRybmQucyAqLworKwku YXR0X3N5bnRheCBwcmVmaXgKKysJcmRyYW5kICVieAorKwlyZHJhbmQgJWVieAorKwlyZHJhbmQg JXJieAorKwlyZHJhbmQgJXI4dworKwlyZHJhbmQgJXI4ZAorKwlyZHJhbmQgJXI4CisrCisrCS5p bnRlbF9zeW50YXggbm9wcmVmaXgKKysJcmRyYW5kIGJ4CisrCXJkcmFuZCBlYngKKysJcmRyYW5k IHJieAorKwlyZHJhbmQgcjh3CisrCXJkcmFuZCByOGQKKysJcmRyYW5kIHI4CisrCisrLyogZ2Fz L2kzODYveDg2LTY0LWYxNmMucyAqLworKwkuYXR0X3N5bnRheCBwcmVmaXgKKysJdmN2dHBoMnBz ICV4bW00LCV5bW00CisrCXZjdnRwaDJwcyAoJXI4KSwleW1tOAorKwl2Y3Z0cGgycHMgJXhtbTQs JXhtbTYKKysJdmN2dHBoMnBzICglcmN4KSwleG1tNAorKwl2Y3Z0cHMycGggJDB4MiwleW1tNCwl eG1tNAorKwl2Y3Z0cHMycGggJDB4MiwleW1tOCwoJXI4KQorKwl2Y3Z0cHMycGggJDB4MiwleG1t NCwleG1tNAorKwl2Y3Z0cHMycGggJDB4MiwleG1tNCwoJXJjeCkgCisrCisrCS5pbnRlbF9zeW50 YXggbm9wcmVmaXgKKysJdmN2dHBoMnBzIHltbTQseG1tNAorKwl2Y3Z0cGgycHMgeW1tOCxYTU1X T1JEIFBUUiBbcjhdCisrCXZjdnRwaDJwcyB5bW00LFtyY3hdCisrCXZjdnRwaDJwcyB4bW02LHht bTQKKysJdmN2dHBoMnBzIHhtbTQsUVdPUkQgUFRSIFtyY3hdICAgICAgICAgIAorKwl2Y3Z0cGgy cHMgeG1tNCxbcmN4XQorKwl2Y3Z0cHMycGggeG1tNCx5bW00LDB4MgorKwl2Y3Z0cHMycGggWE1N V09SRCBQVFIgW3JjeF0seW1tNCwweDIgICAgCisrCXZjdnRwczJwaCBbcmN4XSx5bW00LDB4MiAK KysJdmN2dHBzMnBoIHhtbTQseG1tNCwweDIKKysJdmN2dHBzMnBoIFFXT1JEIFBUUiBbcjhdLHht bTgsMHgyICAgICAgIAorKwl2Y3Z0cHMycGggW3JjeF0seG1tNCwweDIgCisrCisrLyogZ2FzL2kz ODYveDg2LTY0LWZzZ3MucyAqLworKwkuYXR0X3N5bnRheCBwcmVmaXgKKysJcmRmc2Jhc2UgJWVi eAorKwlyZGZzYmFzZSAlcmJ4CisrCXJkZnNiYXNlICVyOGQKKysJcmRmc2Jhc2UgJXI4CisrCXJk Z3NiYXNlICVlYngKKysJcmRnc2Jhc2UgJXJieCAgIAorKwlyZGdzYmFzZSAlcjhkICAgCisrCXJk Z3NiYXNlICVyOCAgICAKKysJd3Jmc2Jhc2UgJWVieCAgIAorKwl3cmZzYmFzZSAlcmJ4ICAgCisr CXdyZnNiYXNlICVyOGQgICAKKysJd3Jmc2Jhc2UgJXI4ICAgIAorKwl3cmdzYmFzZSAlZWJ4ICAg CisrCXdyZ3NiYXNlICVyYnggICAKKysJd3Jnc2Jhc2UgJXI4ZCAgIAorKwl3cmdzYmFzZSAlcjgg ICAgCisrCisrCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKKysJcmRmc2Jhc2UgZWJ4ICAgIAorKwly ZGZzYmFzZSByYnggICAgCisrCXJkZnNiYXNlIHI4ZCAgICAKKysJcmRmc2Jhc2UgcjgKKysJcmRn c2Jhc2UgZWJ4ICAgIAorKwlyZGdzYmFzZSByYnggICAgCisrCXJkZ3NiYXNlIHI4ZCAgICAKKysJ cmRnc2Jhc2UgcjgKKysJd3Jmc2Jhc2UgZWJ4ICAgIAorKwl3cmZzYmFzZSByYnggICAgCisrCXdy ZnNiYXNlIHI4ZCAgICAKKysJd3Jmc2Jhc2UgcjgKKysJd3Jnc2Jhc2UgZWJ4ICAgIAorKwl3cmdz YmFzZSByYnggICAgCisrCXdyZ3NiYXNlIHI4ZCAgICAKKysJd3Jnc2Jhc2UgcjgKK0luZGV4OiBn ZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5TCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisr KysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWl2eS1icmlkZ2UuUwkyMDE2 LTEwLTIwIDIwOjU1OjUwLjg1Mzg0MjMyNCArMDIwMAorQEAgLTAsMCArMSw2NyBAQAorKy8qIENv cHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysg ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IHRoZSBnZGIgdGVzdHN1aXRlLiAgKi8KKysKKysJLmdsb2JsIF9zdGFydAorK19zdGFydDoJLnRl eHQKKysKKysvKiBnYXMvaTM4Ni9yZHJuZC5zICovCisrCS5hdHRfc3ludGF4IHByZWZpeAorKwly ZHJhbmQgJWJ4CisrCXJkcmFuZCAlZWJ4CisrCisrCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKKysJ cmRyYW5kIGJ4CisrCXJkcmFuZCBlYngKKysKKysvKiBnYXMvaTM4Ni9mMTZjLnMgKi8KKysJLmF0 dF9zeW50YXggcHJlZml4CisrCXZjdnRwaDJwcyAleG1tNCwleW1tNAorKwl2Y3Z0cGgycHMgKCVl Y3gpLCV5bW00CisrCXZjdnRwaDJwcyAleG1tNCwleG1tNgorKwl2Y3Z0cGgycHMgKCVlY3gpLCV4 bW00CisrCXZjdnRwczJwaCAkMHgyLCV5bW00LCV4bW00CisrCXZjdnRwczJwaCAkMHgyLCV5bW00 LCglZWN4KSAKKysJdmN2dHBzMnBoICQweDIsJXhtbTQsJXhtbTQKKysJdmN2dHBzMnBoICQweDIs JXhtbTQsKCVlY3gpIAorKworKwkuaW50ZWxfc3ludGF4IG5vcHJlZml4CisrCXZjdnRwaDJwcyB5 bW00LHhtbTQKKysJdmN2dHBoMnBzIHltbTQsWE1NV09SRCBQVFIgW2VjeF0KKysJdmN2dHBoMnBz IHltbTQsW2VjeF0KKysJdmN2dHBoMnBzIHhtbTYseG1tNAorKwl2Y3Z0cGgycHMgeG1tNCxRV09S RCBQVFIgW2VjeF0gICAgICAgICAgCisrCXZjdnRwaDJwcyB4bW00LFtlY3hdCisrCXZjdnRwczJw aCB4bW00LHltbTQsMHgyCisrCXZjdnRwczJwaCBYTU1XT1JEIFBUUiBbZWN4XSx5bW00LDB4MiAg ICAKKysJdmN2dHBzMnBoIFtlY3hdLHltbTQsMHgyIAorKwl2Y3Z0cHMycGggeG1tNCx4bW00LDB4 MgorKwl2Y3Z0cHMycGggUVdPUkQgUFRSIFtlY3hdLHhtbTQsMHgyICAgICAgCisrCXZjdnRwczJw aCBbZWN4XSx4bW00LDB4MiAKKysKKysvKiBnYXMvaTM4Ni9mc2dzLnMgKi8KKysJLmF0dF9zeW50 YXggcHJlZml4CisrCXJkZnNiYXNlICVlYngKKysJcmRnc2Jhc2UgJWVieAorKwl3cmZzYmFzZSAl ZWJ4CisrCXdyZ3NiYXNlICVlYngKKysKKysJLmludGVsX3N5bnRheCBub3ByZWZpeAorKwlyZGZz YmFzZSBlYnggICAgCisrCXJkZ3NiYXNlIGVieCAgICAKKysJd3Jmc2Jhc2UgZWJ4ICAgIAorKwl3 cmdzYmFzZSBlYnggICAgCisrCgpkaWZmIC0tZ2l0IGEvZ2RiLXVwc3RyZWFtLnBhdGNoIGIvZ2Ri LXVwc3RyZWFtLnBhdGNoCmluZGV4IDBjZWU1NmYuLjJiYTcyZGIgMTAwNjQ0Ci0tLSBhL2dkYi11 cHN0cmVhbS5wYXRjaAorKysgYi9nZGItdXBzdHJlYW0ucGF0Y2gKQEAgLTQwOSwzICs0MDksNTIg QEAgaW5kZXggNmMxMGRmYy4uYTFiODA2NSAxMDA2NDQKICBtYWluICh2b2lkKQogLS0gCiAyLjcu NAorCisKKworaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMTAvbXNn MDA2MTMuaHRtbAorU3ViamVjdDogW3Rlc3RzdWl0ZSBwYXRjaF0gRml4IGdjY19jb21waWxlZCBm b3IgZ2NjIDYgJiA3CisKKworLS1JUzB6S2t6d1VHeWRGTzBvCitDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKK0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQorCitI aSwKKworT0sgZm9yIGNoZWNrLWluPworCisKK0phbgorCistLUlTMHpLa3p3VUd5ZEZPMG8KK0Nv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11cy1hc2NpaQorQ29udGVudC1EaXNwb3Np dGlvbjogaW5saW5lOyBmaWxlbmFtZT0xCisKK2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCisyMDE2 LTEwLTIwICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwkq IGxpYi9nZGIuZXhwIChnZXRfY29tcGlsZXJfaW5mbyk6IEdlbmVyYWxpemUgZ2NjX2NvbXBpbGUg cmVnZXhwLgorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90 ZXN0c3VpdGUvbGliL2dkYi5leHAKK2luZGV4IDM3OGVlYTAuLjdkOWIxOTggMTAwNjQ0CistLS0g YS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIu ZXhwCitAQCAtMzI5MCwxMiArMzI5MCw4IEBAIHByb2MgZ2V0X2NvbXBpbGVyX2luZm8ge3thcmcg IiJ9fSB7CisgICAgIH0KKyAKKyAgICAgIyBTZXQgdGhlIGxlZ2FjeSBzeW1ib2xzLgorLSAgICBz ZXQgZ2NjX2NvbXBpbGVkICAgICAwCistICAgIGlmIHsgW3JlZ2V4cCAiXmdjYy0xLSIgIiRjb21w aWxlcl9pbmZvIiBdIH0geyBzZXQgZ2NjX2NvbXBpbGVkIDEgfQorLSAgICBpZiB7IFtyZWdleHAg Il5nY2MtMi0iICIkY29tcGlsZXJfaW5mbyIgXSB9IHsgc2V0IGdjY19jb21waWxlZCAyIH0KKy0g ICAgaWYgeyBbcmVnZXhwICJeZ2NjLTMtIiAiJGNvbXBpbGVyX2luZm8iIF0gfSB7IHNldCBnY2Nf Y29tcGlsZWQgMyB9CistICAgIGlmIHsgW3JlZ2V4cCAiXmdjYy00LSIgIiRjb21waWxlcl9pbmZv IiBdIH0geyBzZXQgZ2NjX2NvbXBpbGVkIDQgfQorLSAgICBpZiB7IFtyZWdleHAgIl5nY2MtNS0i ICIkY29tcGlsZXJfaW5mbyIgXSB9IHsgc2V0IGdjY19jb21waWxlZCA1IH0KKysgICAgc2V0IGdj Y19jb21waWxlZCAwCisrICAgIHJlZ2V4cCAiXmdjYy0oXFswLTlcXSspLSIgIiRjb21waWxlcl9p bmZvIiBtYXRjaGFsbCBnY2NfY29tcGlsZWQKKyAKKyAgICAgIyBMb2cgd2hhdCBoYXBwZW5lZC4K KyAgICAgdmVyYm9zZSAtbG9nICJnZXRfY29tcGlsZXJfaW5mbzogJGNvbXBpbGVyX2luZm8iCisK Ky0tSVMwektrendVR3lkRk8wby0tCisKCmRpZmYgLS1naXQgYS9nZGIuc3BlYyBiL2dkYi5zcGVj CmluZGV4IDI3ZDgxMGMuLmNkOTc2NTQgMTAwNjQ0Ci0tLSBhL2dkYi5zcGVjCisrKyBiL2dkYi5z cGVjCkBAIC0yNiw3ICsyNiw3IEBAIFZlcnNpb246IDcuMTIKIAogIyBUaGUgcmVsZWFzZSBhbHdh eXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMg YHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBl bmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiAyNSV7P2Rpc3R9 CitSZWxlYXNlOiAyNiV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGgg ZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBHUEwr IGFuZCBMR1BMdjIrIGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4gYW5kIEdGREwKIEdyb3VwOiBE ZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAgLTI4OSw2ICsyODksOSBAQCBQYXRjaDI1NDogZ2RiLTYu Ni10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKICM9ZmVkb3JhdGVzdAogUGF0Y2gyNTg6IGdkYi02 LjYtYnoyMzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCiAKKyMgU3RvcCB3aGls ZSBpbnRlbnRpb25hbGx5IHN0ZXBwaW5nIGFuZCB0aGUgdGhyZWFkIGV4aXQgaXMgbWV0LgorUGF0 Y2gyNTk6IGdkYi02LjMtc3RlcC10aHJlYWQtZXhpdC0yMDA1MDIxMS10ZXN0LnBhdGNoCisKICMg VGVzdCBrZXJuZWwgVkRTTyBkZWNvZGluZyB3aGlsZSBhdHRhY2hpbmcgdG8gYW4gaTM4NiBwcm9j ZXNzLgogIz1mZWRvcmF0ZXN0CiBQYXRjaDI2MzogZ2RiLTYuMy1hdHRhY2gtc2VlLXZkc28tdGVz dC5wYXRjaApAQCAtNDc1LDYgKzQ3OCwxMCBAQCBQYXRjaDU0NzogZ2RiLXRlc3QtZHcyLWFyYW5n ZXMucGF0Y2gKICM9ZmVkb3JhdGVzdAogUGF0Y2g1NDg6IGdkYi10ZXN0LWV4cHItY3VtdWxhdGl2 ZS1hcmNoZXIucGF0Y2gKIAorIyBGaXggcmVncmVzc2lvbnMgb24gQysrIG5hbWVzIHJlc29sdmlu ZyAoUFIgMTE3MzQsIFBSIDEyMjczLCBLZWl0aCBTZWl0eikuCitQYXRjaDU2NTogZ2RiLXBoeXNu YW1lLXByMTE3MzQtdGVzdC5wYXRjaAorUGF0Y2g1Njc6IGdkYi1waHlzbmFtZS1wcjEyMjczLXRl c3QucGF0Y2gKKwogIyBUb29sY2hhaW4gb24gc3BhcmMgaXMgc2xpZ2h0bHkgYnJva2VuIGFuZCBk ZWJ1Z2luZm8gZmlsZXMgYXJlIGdlbmVyYXRlZAogIyB3aXRoIG5vbiA2NGJpdCBhbGlnbmVkIHRh Ymxlcy9vZmZzZXRzLgogIyBTZWUgZm9yIGV4YW1wbGUgcmVhZGVsZiAtUyAuLi9Ydm5jLmRlYnVn LgpAQCAtNDg5LDYgKzQ5Niw5IEBAIFBhdGNoNTQ4OiBnZGItdGVzdC1leHByLWN1bXVsYXRpdmUt YXJjaGVyLnBhdGNoCiAjPXB1c2grd29yawogUGF0Y2g1Nzk6IGdkYi03LjIuNTAtc3BhcmMtYWRk LXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoCiAKKyMgVGVzdCBHREIgb3Bj b2Rlcy8gZGlzYXNzZW1ibHkgb2YgSW50ZWwgSXZ5IEJyaWRnZSBpbnN0cnVjdGlvbnMgKEJaIDY5 Njg5MCkuCitQYXRjaDYxNjogZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaAorCiAjIFdvcmsgYXJv dW5kIFBSIGxpYmMvMTMwOTcgImxpbnV4LXZkc28uc28uMSIgd2FybmluZyBtZXNzYWdlLgogIz1w dXNoCiBQYXRjaDYyNzogZ2RiLWdsaWJjLXZkc28td29ya2Fyb3VuZC5wYXRjaApAQCAtNTQ0LDYg KzU1NCw5IEBAIFBhdGNoODQ4OiBnZGItZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQucGF0Y2gKICMg Rml4IGNyYXNoIG9mIC1yZWFkbm93IC91c3IvbGliL2RlYnVnL3Vzci9iaW4vZ25hdGJpbmQuZGVi dWcgKEJaIDEwNjkyMTEpLgogUGF0Y2g4NTI6IGdkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0 Y2gKIAorIyBGaXggJ21lbW9yeSBsZWFrIGluIGluZnB5X3JlYWRfbWVtb3J5KCknIChSSCBCWiAx MDA3NjE0KQorUGF0Y2g4NjE6IGdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVt b3J5LXRlc3QucGF0Y2gKKwogIyBWTEEgKEZvcnRyYW4gZHluYW1pYyBhcnJheXMpIGZyb20gSW50 ZWwgKyBhcmNoZXItamFua3JhdG9jaHZpbC12bGEgdGVzdHMuCiBQYXRjaDEwNTg6IGdkYi12bGEt aW50ZWwtZm9ydHJhbi1zdHJpZGVzLnBhdGNoCiBQYXRjaDExMzI6IGdkYi12bGEtaW50ZWwtZm9y dHJhbi12bGEtc3RyaW5ncy5wYXRjaApAQCAtNTYwLDkgKzU3MywyMiBAQCBQYXRjaDkyNTogZ2Ri LWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCiAjIEZpeCBQeXRob24gR0lMIHdpdGggZ2RiLmV4 ZWN1dGUoImNvbnRpbnVlIikgKFBoaWwgTXVsZG9vbiwgQlogMTExNjk1NykuCiBQYXRjaDkyNzog Z2RiLXB5dGhvbi1naWwucGF0Y2gKIAorIyBUZXN0Y2FzZSBmb3IgJ1tTQVBdIFJlY3Vyc2l2ZSBk bG9wZW4gY2F1c2VzIFNBUCBIQU5BIGluc3RhbGxlciB0bworIyBjcmFzaC4nIChSSCBCWiAxMTU2 MTkyKS4KK1BhdGNoOTc3OiBnZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBh dGNoCisKICMgRml4IGppdC1yZWFkZXIuaCBmb3IgbXVsdGktbGliLgogUGF0Y2g5Nzg6IGdkYi1q aXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCiAKKyMgRml4ICdgY2F0Y2ggc3lzY2FsbCcgZG9lc24n dCB3b3JrIGZvciBwYXJlbnQgYWZ0ZXIgYGZvcmsnIGlzIGNhbGxlZCcKKyMgKFBoaWxpcHBlIFdh cm9xdWllcnMsIFJIIEJaIDExNDkyMDUpLgorUGF0Y2g5ODQ6IGdkYi1yaGJ6MTE0OTIwNS1jYXRj aC1zeXNjYWxsLWFmdGVyLWZvcmstdGVzdC5wYXRjaAorCisjIEZpeCAnYmFja3BvcnQgR0RCIDcu NCBmaXggdG8gUkhFTCA2LjYgR0RCJyBbT3JpZ2luYWwgU291cmNld2FyZSBidWcKKyMgZGVzY3Jp cHRpb246ICdDKysgKGFuZCBvYmpjKTogSW50ZXJuYWwgZXJyb3Igb24gdW5xdWFsaWZpZWQgbmFt ZQorIyByZS1zZXQnLCBQUiAxMTY1N10gKFJIIEJaIDExODY0NzYpLgorUGF0Y2g5OTE6IGdkYi1y aGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC10ZXN0LnBh dGNoCisKICMgVGVzdCAnaW5mbyB0eXBlLXByaW50ZXJzJyBQeXRob24gZXJyb3IgKFJIIEJaIDEz NTA0MzYpLgogUGF0Y2g5OTI6IGdkYi1yaGJ6MTM1MDQzNi10eXBlLXByaW50ZXJzLWVycm9yLnBh dGNoCiAKQEAgLTg3Nyw2ICs5MDMsNyBAQCBmaW5kIC1uYW1lICIqLmluZm8qInx4YXJncyBybSAt ZgogJXBhdGNoMjQ3IC1wMQogJXBhdGNoMjU0IC1wMQogJXBhdGNoMjU4IC1wMQorJXBhdGNoMjU5 IC1wMQogJXBhdGNoMjYwIC1wMQogJXBhdGNoMjYzIC1wMQogJXBhdGNoMjcxIC1wMQpAQCAtOTIy LDcgKzk0OSwxMCBAQCBmaW5kIC1uYW1lICIqLmluZm8qInx4YXJncyBybSAtZgogJXBhdGNoNTQy IC1wMQogJXBhdGNoNTQ3IC1wMQogJXBhdGNoNTQ4IC1wMQorJXBhdGNoNTY1IC1wMQorJXBhdGNo NTY3IC1wMQogJXBhdGNoNTc5IC1wMQorJXBhdGNoNjE2IC1wMQogJXBhdGNoNjI3IC1wMQogJXBh dGNoNjM0IC1wMQogJXBhdGNoNjUzIC1wMQpAQCAtOTM5LDEzICs5NjksMTcgQEAgZmluZCAtbmFt ZSAiKi5pbmZvKiJ8eGFyZ3Mgcm0gLWYKICVwYXRjaDgxOCAtcDEKICVwYXRjaDgzMiAtcDEKICVw YXRjaDg1MiAtcDEKKyVwYXRjaDg2MSAtcDEKICVwYXRjaDg2MyAtcDEKICVwYXRjaDg4NyAtcDEK ICVwYXRjaDg4OCAtcDEKICVwYXRjaDkxOCAtcDEKICVwYXRjaDkyNSAtcDEKICVwYXRjaDkyNyAt cDEKKyVwYXRjaDk3NyAtcDEKICVwYXRjaDk3OCAtcDEKKyVwYXRjaDk4NCAtcDEKKyVwYXRjaDk5 MSAtcDEKICVwYXRjaDk5MiAtcDEKICVwYXRjaDEwMjYgLXAxCiAlcGF0Y2gxMDUzIC1wMQpAQCAt MTMwNiwxMCArMTM0MCwxMiBAQCBtYWtlICV7P19zbXBfbWZsYWdzfSBpbnN0YWxsIERFU1RESVI9 JFJQTV9CVUlMRF9ST09UCiAlaWYgMCV7IT9zY2w6MX0KIG1rZGlyIC1wICRSUE1fQlVJTERfUk9P VCV7X3ByZWZpeH0vbGliZXhlYwogbXYgLWYgJFJQTV9CVUlMRF9ST09UJXtfYmluZGlyfS9nZGIg JFJQTV9CVUlMRF9ST09UJXtfcHJlZml4fS9saWJleGVjL2dkYgotIyBSSEVMLTY6IGxuOiBpbnZh bGlkIG9wdGlvbiAtLSAncicKLSMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVn LmNnaT9pZD0xMzg0OTQ3Ci0jIGxuIC1zIC1yICRSUE1fQlVJTERfUk9PVCV7X3ByZWZpeH0vbGli ZXhlYy9nZGIgJFJQTV9CVUlMRF9ST09UJXtfYmluZGlyfS9nZGIKKyVpZiAwJXs/cmhlbDoxfSAm JiAwJXs/cmhlbH0gPD0gNgorIyBSSEVMLTY6IGxuOiBpbnZhbGlkIG9wdGlvbiAtLSAncic6IGh0 dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTM4NDk0NwogbG4gLXMg JChyZWFscGF0aCAtLXJlbGF0aXZlLXRvPSRSUE1fQlVJTERfUk9PVCV7X2JpbmRpcn0gJFJQTV9C VUlMRF9ST09UJXtfcHJlZml4fS9saWJleGVjL2dkYikgJFJQTV9CVUlMRF9ST09UJXtfYmluZGly fS9nZGIKKyVlbHNlCitsbiAtcyAtciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAkUlBNX0JVSUxEX1JPT1Qle19wcmVmaXh9L2xpYmV4ZWMvZ2RiICAkUlBN X0JVSUxEX1JPT1Qle19iaW5kaXJ9L2dkYgorJWVuZGlmCiAlZW5kaWYKIAogIyBQcm92aWRlIGdk YnR1aSBmb3IgUkhFTC01IGFuZCBSSEVMLTYgYXMgaXQgaXMgcmVtb3ZlZCB1cHN0cmVhbSAoQlog Nzk3NjY0KS4KQEAgLTE1MzYsNiArMTU3Miw5IEBAIHRoZW4KIGZpCiAKICVjaGFuZ2Vsb2cKKyog VGh1IE9jdCAyMCAyMDE2IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29t PiAtIDcuMTItMjYuZmMyNQorLSBBZGQgbWlzc2luZyB0ZXN0Y2FzZXMgcHJlc2VudCBpbiByaGVs NiBHREI7IHNvbWUgc3RpbGwgRkFJTC4KKwogKiBGcmkgT2N0IDE0IDIwMTYgSmFuIEtyYXRvY2h2 aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy4xMi0yNS5mYzI1CiAtIFtyaGVsNl0g Rml4IC5zcGVjIHdpdGhvdXQgZGV2dG9vbHNldC02LWJ1aWxkIGluc3RhbGxlZCAoUkggQlogMTM4 NDk0NykuCiAK