From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from inbox.vuxu.org (localhost [::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 5aed79c9 for ; Sun, 2 Feb 2020 16:42:25 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============6353754030538553387==" MIME-Version: 1.0 Subject: [PR PATCH] gnuradio: update to 3.8.0.0. To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org Message-ID: Date: Sun, 02 Feb 2020 17:42:25 +0100 GitHub notification mails are now in MIME to allow UTF8. --===============6353754030538553387== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IGJyYTFud2F2ZSBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vYnJhMW53 YXZlL3ZvaWQtcGFja2FnZXMgZ251cmFkaW8KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzE4NzQxCgpnbnVyYWRpbzogdXBkYXRlIHRvIDMuOC4wLjAuCmZp eGVzIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvaXNzdWVzLzE4 Njk3DQoNClRoZSBwYXRjaGVzIGZvciBgZ251cmFkaW8tb3Ntb3NkcmAgYXJlIGZyb20gW0RlYmlh bl0oaHR0cHM6Ly9zb3VyY2VzLmRlYmlhbi5vcmcvcGF0Y2hlcy9nci1vc21vc2RyLzAuMS41LTEv KQ0KDQpCdWlsZCBsb2dzOiBbaTY4Nl0oaHR0cDovL3NwcnVuZ2UudXMvTWVjc2lNKSB8IFt4ODZf NjRdKGh0dHA6Ly9zcHJ1bmdlLnVzL1J6ZFdBcSkgfCBbeDg2XzY0LW11c2xdKGh0dHA6Ly9zcHJ1 bmdlLnVzL2xXZk5OYykKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8xODc0MS5wYXRjaCBpcyBhdHRhY2hlZA== --===============6353754030538553387== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-gnuradio-18741.patch" RnJvbSA1Y2EzMDk4OWRlNjQxOTU0MWJmNjM4MjcxMDE1MzBlMzA5MzRjYmJjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBicmExbndhdmUgPGJyYTFud2F2ZUBwcm90b25tYWlsLmNvbT4K RGF0ZTogU2F0LCAxIEZlYiAyMDIwIDIwOjUxOjA0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwMS8x MF0gZ251cmFkaW86IHVwZGF0ZSB0byAzLjguMC4wLgoKW3NraXAgY2ldCi0tLQogY29tbW9uL3No bGlicyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzcgKysrKysrKystLS0tLS0t LS0tLQogLi4uNzNiZjAwYjczYmExZGQ3MjgxM2ZiYzRjNGM1ZDBmNjZkMzM5LnBhdGNoIHwgMzYg LS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL2dudXJhZGlvL3RlbXBsYXRlICAgICAgICAgICAg ICAgICAgICAgfCAyMSArKysrKy0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25z KCspLCA2OCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2dudXJhZGlv L3BhdGNoZXMvYzAxNDczYmYwMGI3M2JhMWRkNzI4MTNmYmM0YzRjNWQwZjY2ZDMzOS5wYXRjaAoK ZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IDM1YzUxYmFj NWRjLi5hMDM0NTRkOGJkOSAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24v c2hsaWJzCkBAIC0zMTY1LDI3ICszMTY1LDIyIEBAIGxpYmFyY2FuX3R1aS5zby4wLjExIGFyY2Fu LTAuNS40LjNfMQogbGlibHdpcHY2LnNvLjIgbHdpcHY2LTEuNWFfMQogbGlicGlwZXdpcmUtMC4y LnNvLjEgbGlicGlwZXdpcmUtMC4yLjJfMQogbGlidm9say5zby4xLjQgdm9say0xLjRfMQotbGli Z251cmFkaW8tcnVudGltZS0zLjcuMTMuNS5zby4wLjAuMCBnbnVyYWRpby0zLjcuMTMuNV8xCi1s aWJnbnVyYWRpby1wbXQtMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVfMQotbGli Z251cmFkaW8tYmxvY2tzLTMuNy4xMy41LnNvLjAuMC4wIGdudXJhZGlvLTMuNy4xMy41XzEKLWxp YmdudXJhZGlvLWF1ZGlvLTMuNy4xMy41LnNvLjAuMC4wIGdudXJhZGlvLTMuNy4xMy41XzEKLWxp YmdudXJhZGlvLW5vYWEtMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVfMQotbGli Z251cmFkaW8tZmVjLTMuNy4xMy41LnNvLjAuMC4wIGdudXJhZGlvLTMuNy4xMy41XzEKLWxpYmdu dXJhZGlvLWZmdC0zLjcuMTMuNS5zby4wLjAuMCBnbnVyYWRpby0zLjcuMTMuNV8xCi1saWJnbnVy YWRpby1maWx0ZXItMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVfMQotbGliZ251 cmFkaW8tYW5hbG9nLTMuNy4xMy41LnNvLjAuMC4wIGdudXJhZGlvLTMuNy4xMy41XzEKLWxpYmdu dXJhZGlvLWRpZ2l0YWwtMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVfMQotbGli Z251cmFkaW8tZHR2LTMuNy4xMy41LnNvLjAuMC4wIGdudXJhZGlvLTMuNy4xMy41XzEKLWxpYmdu dXJhZGlvLWF0c2MtMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVfMQotbGliZ251 cmFkaW8tY2hhbm5lbHMtMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVfMQotbGli Z251cmFkaW8tcGFnZXItMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVfMQotbGli Z251cmFkaW8tdHJlbGxpcy0zLjcuMTMuNS5zby4wLjAuMCBnbnVyYWRpby0zLjcuMTMuNV8xCi1s aWJnbnVyYWRpby12aWRlby1zZGwtMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVf MQotbGliZ251cmFkaW8tdm9jb2Rlci0zLjcuMTMuNS5zby4wLjAuMCBnbnVyYWRpby0zLjcuMTMu NV8xCi1saWJnbnVyYWRpby1mY2QtMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVf MQotbGliZ251cmFkaW8td2F2ZWxldC0zLjcuMTMuNS5zby4wLjAuMCBnbnVyYWRpby0zLjcuMTMu NV8xCi1saWJnbnVyYWRpby13eGd1aS0zLjcuMTMuNS5zby4wLjAuMCBnbnVyYWRpby0zLjcuMTMu NV8xCi1saWJnbnVyYWRpby11aGQtMy43LjEzLjUuc28uMC4wLjAgZ251cmFkaW8tMy43LjEzLjVf MQorbGliZ251cmFkaW8tcnVudGltZS5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEKK2xpYmdu dXJhZGlvLXBtdC5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEKK2xpYmdudXJhZGlvLWJsb2Nr cy5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEKK2xpYmdudXJhZGlvLWF1ZGlvLnNvLjMuOC4w IGdudXJhZGlvLTMuOC4wLjBfMQorbGliZ251cmFkaW8tZmVjLnNvLjMuOC4wIGdudXJhZGlvLTMu OC4wLjBfMQorbGliZ251cmFkaW8tZmZ0LnNvLjMuOC4wIGdudXJhZGlvLTMuOC4wLjBfMQorbGli Z251cmFkaW8tZmlsdGVyLnNvLjMuOC4wIGdudXJhZGlvLTMuOC4wLjBfMQorbGliZ251cmFkaW8t YW5hbG9nLnNvLjMuOC4wIGdudXJhZGlvLTMuOC4wLjBfMQorbGliZ251cmFkaW8tZGlnaXRhbC5z by4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEKK2xpYmdudXJhZGlvLWR0di5zby4zLjguMCBnbnVy YWRpby0zLjguMC4wXzEKK2xpYmdudXJhZGlvLWNoYW5uZWxzLnNvLjMuOC4wIGdudXJhZGlvLTMu OC4wLjBfMQorbGliZ251cmFkaW8tdHJlbGxpcy5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEK K2xpYmdudXJhZGlvLXZpZGVvLXNkbC5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEKK2xpYmdu dXJhZGlvLXZvY29kZXIuc28uMy44LjAgZ251cmFkaW8tMy44LjAuMF8xCitsaWJnbnVyYWRpby13 YXZlbGV0LnNvLjMuOC4wIGdudXJhZGlvLTMuOC4wLjBfMQorbGliZ251cmFkaW8tdWhkLnNvLjMu OC4wIGdudXJhZGlvLTMuOC4wLjBfMQogbGliZ251cmFkaW8tb3Ntb3Nkci0wLjEuNC5zby4wLjAu MCBnbnVyYWRpby1vc21vc2RyLTAuMS40XzEKIGxpYmZsYW5uX2NwcC5zby4xLjkgZmxhbm4tMS45 LjFfMQogbGliZmxhbm4uc28uMS45IGZsYW5uLTEuOS4xXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Z251cmFkaW8vcGF0Y2hlcy9jMDE0NzNiZjAwYjczYmExZGQ3MjgxM2ZiYzRjNGM1ZDBmNjZkMzM5 LnBhdGNoIGIvc3JjcGtncy9nbnVyYWRpby9wYXRjaGVzL2MwMTQ3M2JmMDBiNzNiYTFkZDcyODEz ZmJjNGM0YzVkMGY2NmQzMzkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5 MTQ0MDY1OGY3Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2dudXJhZGlvL3BhdGNoZXMvYzAx NDczYmYwMGI3M2JhMWRkNzI4MTNmYmM0YzRjNWQwZjY2ZDMzOS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDM2ICswLDAgQEAKLUZyb20gYzAxNDczYmYwMGI3M2JhMWRkNzI4MTNmYmM0YzRjNWQw ZjY2ZDMzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhZWwgRGlja2VucyA8 bWljaGFlbC5kaWNrZW5zQGV0dHVzLmNvbT4KLURhdGU6IFRodSwgMjMgTWF5IDIwMTkgMTA6MjY6 MDAgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gYmxvY2tzOiBzaW1wbGUgZml4IGZvciBCb29zdCAx LjcwLjAgaW4gc29ja2V0X3BkdQotCi1OT1RFOiBUaGVyZSBoYXZlIGJlZW4gbXVsdGlwbGUgZml4 ZXMgcHJvcG9zZWQsIHN1Y2ggYXMKLWh0dHBzOi8vZ2l0aHViLmNvbS9nbnVyYWRpby9nbnVyYWRp by9wdWxsLzI0NTEgLgotVGhpcyBvbmUgaXMgdGhlIHNpbXBsZXN0IGFuZCBtb3N0IGNvbXBhdGli bGUuCi0tLS0KLSBnci1ibG9ja3MvbGliL3NvY2tldF9wZHVfaW1wbC5jYyB8IDYgKysrKystCi0g MSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0t Z2l0IGdyLWJsb2Nrcy9saWIvc29ja2V0X3BkdV9pbXBsLmNjIGdyLWJsb2Nrcy9saWIvc29ja2V0 X3BkdV9pbXBsLmNjCi1pbmRleCBlMjBmMTQ3OGYwLi4xNjhkNzRlYmIyIDEwMDY0NAotLS0tIGdy LWJsb2Nrcy9saWIvc29ja2V0X3BkdV9pbXBsLmNjCi0rKysgZ3ItYmxvY2tzL2xpYi9zb2NrZXRf cGR1X2ltcGwuY2MKLUBAIC0xLDYgKzEsNiBAQAotIC8qIC0qLSBjKysgLSotICovCi0gLyoKLS0g KiBDb3B5cmlnaHQgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsgKiBDb3B5 cmlnaHQgMjAxMywyMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotICAqCi0gICog VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCi0gICoKLUBAIC0xNjUsNyArMTY1LDExIEBA IG5hbWVzcGFjZSBnciB7Ci0gICAgIHZvaWQKLSAgICAgc29ja2V0X3BkdV9pbXBsOjpzdGFydF90 Y3BfYWNjZXB0KCkKLSAgICAgewotKyNpZiAoQk9PU1RfVkVSU0lPTiA+PSAxMDcwMDApCi0rICAg ICAgdGNwX2Nvbm5lY3Rpb246OnNwdHIgbmV3X2Nvbm5lY3Rpb24gPSB0Y3BfY29ubmVjdGlvbjo6 bWFrZShkX2lvX3NlcnZpY2UsIGRfcnhidWYuc2l6ZSgpLCBkX3RjcF9ub19kZWxheSk7Ci0rI2Vs c2UKLSAgICAgICB0Y3BfY29ubmVjdGlvbjo6c3B0ciBuZXdfY29ubmVjdGlvbiA9IHRjcF9jb25u ZWN0aW9uOjptYWtlKGRfYWNjZXB0b3JfdGNwLT5nZXRfaW9fc2VydmljZSgpLCBkX3J4YnVmLnNp emUoKSwgZF90Y3Bfbm9fZGVsYXkpOwotKyNlbmRpZgotIAotICAgICAgIGRfYWNjZXB0b3JfdGNw LT5hc3luY19hY2NlcHQobmV3X2Nvbm5lY3Rpb24tPnNvY2tldCgpLAotICAgICAgICAgYm9vc3Q6 OmJpbmQoJnNvY2tldF9wZHVfaW1wbDo6aGFuZGxlX3RjcF9hY2NlcHQsIHRoaXMsCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2dudXJhZGlvL3RlbXBsYXRlIGIvc3JjcGtncy9nbnVyYWRpby90ZW1wbGF0 ZQppbmRleCBmYmY0NTZlYTBlYy4uYmU2ZDNlMjAzMTIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ251 cmFkaW8vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbnVyYWRpby90ZW1wbGF0ZQpAQCAtMSwyMyAr MSwyMyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ251cmFkaW8nCiBwa2duYW1lPWdudXJhZGlv Ci12ZXJzaW9uPTMuNy4xMy41Ci1yZXZpc2lvbj0zCit2ZXJzaW9uPTMuOC4wLjAKK3JldmlzaW9u PTEKIGJ1aWxkX3N0eWxlPWNtYWtlCi1ub2Nyb3NzPSJyZWxpZXMgb24gdm9saywgd2hpY2ggaXMg bm90IGNvbXBsZXRlIGZvciBhcm0iCiBjb25mX2ZpbGVzPSIvZXRjL2dudXJhZGlvL2NvbmYuZC8q IgotY29uZmlndXJlX2FyZ3M9Ii1ERU5BQkxFX0lOVEVSTkFMX1ZPTEs9T0ZGIgotcHljb21waWxl X21vZHVsZT0iZ251cmFkaW8gZ3JjX2dudXJhZGlvIHBtdCIKLWhvc3RtYWtlZGVwZW5kcz0icGtn LWNvbmZpZyBkb3h5Z2VuIHN3aWcgcHl0aG9uLWNoZWV0YWggcHl0aG9uLWx4bWwKLSBweXRob24t bnVtcHkgcHl0aG9uLVNwaGlueCIKK2NvbmZpZ3VyZV9hcmdzPSItREVOQUJMRV9JTlRFUk5BTF9W T0xLPU9GRiAtREdSX1BZVEhPTl9ESVI9JHtweTNfc2l0ZWxpYn0iCitob3N0bWFrZWRlcGVuZHM9 InBrZy1jb25maWcgZG94eWdlbiBzd2lnIHB5dGhvbjMtTWFrbyBweXRob24zLVNwaGlueAorIHB5 dGhvbjMtY2Fpcm8gcHl0aG9uMy1udW1weSBweXRob24zLXlhbWwiCiBtYWtlZGVwZW5kcz0iU0RM LWRldmVsIGJvb3N0LWRldmVsIGZmdHctZGV2ZWwgZ3NsLWRldmVsIGphY2stZGV2ZWwgbGliZ3Nt LWRldmVsCi0gbGlidXNiLWRldmVsIHB5Z3RrLWRldmVsIHZvbGstZGV2ZWwgd3hQeXRob24tZGV2 ZWwgdWhkLWRldmVsIHB5dGhvbi1kZXZlbCIKLWRlcGVuZHM9InB5Z3RrIHB5dGhvbi1jaGVldGFo IHB5dGhvbi1seG1sIHB5dGhvbi1udW1weSIKKyBsaWJ1c2ItZGV2ZWwgdm9say1kZXZlbCB1aGQt ZGV2ZWwgZ3RrKzMtZGV2ZWwgcHl0aG9uMy1kZXZlbCBweXRob24zLWdvYmplY3QtZGV2ZWwKKyBs b2c0Y3BwLWRldmVsIGdtcHh4LWRldmVsIG1waXItZGV2ZWwiCitkZXBlbmRzPSJweXRob24zLWNo ZWV0YWgzIHB5dGhvbjMtbnVtcHkgcHl0aG9uMy1NYWtvIHB5dGhvbjMtZ29iamVjdCBweXRob24z LXlhbWwiCiBzaG9ydF9kZXNjPSJGcmFtZXdvcmsgZm9yIHNvZnR3YXJlIGRlZmluZWQgcmFkaW8i CiBtYWludGFpbmVyPSJBbmRyZXcgQmVuc29uIDxhYmVuc29uK3ZvaWRAZ21haWwuY29tPiIKIGxp Y2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cuZ251cmFkaW8u b3JnIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vZ251cmFkaW8vZ251cmFkaW8vYXJj aGl2ZS92JHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT05YWZjZDBlNDQ5OTE2MGJjZTE3Yzhj NWMxMDBmNDYxNzkxYWQyNmI0YmNiOTY3ZDk1NmZiOTU2N2U3NGRkNTdmCitjaGVja3N1bT0wM2Zk MDFmMGIyNzAzM2JlZmI5MTcwOWIzZDU2Zjk1ZTA4NjliNWZiOGJjNzFiZWMyNjYyMjY2YTNmMGRl ZGY1Citub2Nyb3NzPSJyZWxpZXMgb24gdm9saywgd2hpY2ggaXMgbm90IGNvbXBsZXRlIGZvciBh cm0iCiAKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgogCW5vY3Jvc3M9Imh0dHBzOi8vYnVp bGQudm9pZGxpbnV4Lm9yZy9idWlsZGVycy9hcm12N2xfYnVpbGRlci9idWlsZHMvNzU5Ni9zdGVw cy9zaGVsbF8zL2xvZ3Mvc3RkaW8iCkBAIC0yNSw3ICsyNSw2IEBAIGZpCiAKIHBvc3RfaW5zdGFs bCgpIHsKIAlybSAke0RFU1RESVJ9L3Vzci9zaGFyZS9nbnVyYWRpby9leGFtcGxlcy9hdWRpby9k aWFsX3RvbmUgXAotCQkke0RFU1RESVJ9L3Vzci9zaGFyZS9nbnVyYWRpby9leGFtcGxlcy9mY2Qv ZmNkX25mbV9yeCBcCiAJCSR7REVTVERJUn0vdXNyL3NoYXJlL2dudXJhZGlvL2V4YW1wbGVzL3Vo ZC90YWdzX2RlbW8KIAl2aW5zdGFsbCBncmMvc2NyaXB0cy9mcmVlZGVza3RvcC9nbnVyYWRpby1n cmMuZGVza3RvcCA2NDQgXAogCQl1c3Ivc2hhcmUvYXBwbGljYXRpb25zCgpGcm9tIDZmMDMzMzVj MTg1NzhkY2I2ZGU1ZDMxNDNmZDM0NDJiYWY5YTU3NjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IGJyYTFud2F2ZSA8YnJhMW53YXZlQHByb3Rvbm1haWwuY29tPgpEYXRlOiBTYXQsIDEg RmViIDIwMjAgMjA6NTM6NTcgKzAxMDAKU3ViamVjdDogW1BBVENIIDAyLzEwXSB2b2xrOiB1cGRh dGUgdG8gMi4xLjAuCgpbc2tpcCBjaV0KLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgfCAgMiAr LQogc3JjcGtncy92b2xrL3RlbXBsYXRlIHwgMTUgKysrKysrKystLS0tLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb21t b24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBhMDM0NTRkOGJkOS4uNmQzOGQ2NzQ5MWUg MTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMzE2NCw3 ICszMTY0LDcgQEAgbGliYXJjYW5fc2htaWZfc2VydmVyLnNvLjAuMTEgYXJjYW4tMC41LjQuM18x CiBsaWJhcmNhbl90dWkuc28uMC4xMSBhcmNhbi0wLjUuNC4zXzEKIGxpYmx3aXB2Ni5zby4yIGx3 aXB2Ni0xLjVhXzEKIGxpYnBpcGV3aXJlLTAuMi5zby4xIGxpYnBpcGV3aXJlLTAuMi4yXzEKLWxp YnZvbGsuc28uMS40IHZvbGstMS40XzEKK2xpYnZvbGsuc28uMi4xIHZvbGstMi4xXzEKIGxpYmdu dXJhZGlvLXJ1bnRpbWUuc28uMy44LjAgZ251cmFkaW8tMy44LjAuMF8xCiBsaWJnbnVyYWRpby1w bXQuc28uMy44LjAgZ251cmFkaW8tMy44LjAuMF8xCiBsaWJnbnVyYWRpby1ibG9ja3Muc28uMy44 LjAgZ251cmFkaW8tMy44LjAuMF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3ZvbGsvdGVtcGxhdGUg Yi9zcmNwa2dzL3ZvbGsvdGVtcGxhdGUKaW5kZXggZmIwMGVjZjEyNDAuLmE5NWViMTI3ZjE0IDEw MDY0NAotLS0gYS9zcmNwa2dzL3ZvbGsvdGVtcGxhdGUKKysrIGIvc3JjcGtncy92b2xrL3RlbXBs YXRlCkBAIC0xLDE4ICsxLDE5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd2b2xrJwogcGtnbmFt ZT12b2xrCi12ZXJzaW9uPTEuNAotcmV2aXNpb249NQordmVyc2lvbj0yLjEuMAorcmV2aXNpb249 MQogYnVpbGRfc3R5bGU9Y21ha2UKLWhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBweXRob24t Y2hlZXRhaCBnaXQgcHl0aG9uLU1ha28KLSBweXRob24tc2l4IgotbWFrZWRlcGVuZHM9ImJvb3N0 LWRldmVsIHB5dGhvbi1jaGVldGFoIHB5dGhvbi1kZXZlbAotIHB5dGhvbi1NYWtvIHB5dGhvbi1z aXgiCitob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcHl0aG9uMy1jaGVldGFoMyBnaXQgcHl0 aG9uMy1NYWtvCisgcHl0aG9uMy1zaXgiCittYWtlZGVwZW5kcz0iYm9vc3QtZGV2ZWwgcHl0aG9u My1jaGVldGFoMyBweXRob24zLWRldmVsCisgcHl0aG9uMy1NYWtvIHB5dGhvbjMtc2l4Igogc2hv cnRfZGVzYz0iVmVjdG9yLU9wdGltaXplZCBMaWJyYXJ5IG9mIEtlcm5lbHMiCiBtYWludGFpbmVy PSJBbmRyZXcgQmVuc29uIDxhYmVuc29uK3ZvaWRAZ21haWwuY29tPiIKIGxpY2Vuc2U9IkdQTC0z LjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cDovL2xpYnZvbGsub3JnLyIKIGRpc3RmaWxlcz0i aHR0cHM6Ly9naXRodWIuY29tL2dudXJhZGlvL3ZvbGsvYXJjaGl2ZS92JHt2ZXJzaW9ufS50YXIu Z3oiCi1jaGVja3N1bT0zMjEzMWJhMTc4NDY4NTBjMDcyNzBiYzU4OTdkZDJkZTcxMzBlYzAyY2Ew Mjk4NzVhMzY5NjYzMzUxMjBlN2JmCitjaGVja3N1bT1mZTQyMmYxMGI4ODBkMTBjYjcyYmRkMWEz MzYyYTBmNjVkMmQ2ZDY1NWRkMTI5NjQ1OTc3M2M4OWZhZTUxNzgxCitub2Nyb3NzPSJub3QgY29t cGxldGUgZm9yIGFybSIKIAogY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCiAJYXJtdjZs KikKCkZyb20gM2M5ZGM1MjJjZGMyMDczNjBkMTFlZTdmMTBkNmI3OGFhODk4MjRmMSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogYnJhMW53YXZlIDxicmExbndhdmVAcHJvdG9ubWFpbC5j b20+CkRhdGU6IFNhdCwgMSBGZWIgMjAyMCAyMDo1OTowMyArMDEwMApTdWJqZWN0OiBbUEFUQ0gg MDMvMTBdIHVoZDogdXBkYXRlIHRvIDMuMTUuMC4wLgoKLS0tCiBjb21tb24vc2hsaWJzICAgICAg ICB8IDIgKy0KIHNyY3BrZ3MvdWhkL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMiBmaWxlcyBjaGFu Z2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29tbW9u L3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggNmQzOGQ2NzQ5MWUuLjEwMzU4NTk2MmY5IDEw MDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTM1MDMsNyAr MzUwMyw3IEBAIGxpYmNhZl9jb3JlLnNvLjAuMTYuMiBicm8tMi42LjFfMQogbGliY2FmX29wZW5z c2wuc28uMC4xNi4yIGJyby0yLjYuMV8xCiBsaWJsbGh0dHAuc28uMSBsbGh0dHAtMS4wLjFfMQog bGlicGlueWluLnNvLjEzIGxpYnBpbnlpbi0yLjIuMV8xCi1saWJ1aGQuc28uMy4xNC4xIHVoZC0z LjE0LjEuMF8xCitsaWJ1aGQuc28uMy4xNS4wIHVoZC0zLjE1LjAuMF8xCiBsaWJlZGl0bGluZS5z by4xIGVkaXRsaW5lLTEuMTYuMF8xCiBsaWJnbnVyYWRpby1yZHMtMy43LjBnaXQuc28uMC4wLjAg Z251cmFkaW8tcmRzLTEuMS4wXzEKIGxpYmdudXJhZGlvLW5yc2M1LTEuMC4wZ2l0LnNvLjAuMC4w IGdudXJhZGlvLW5yc2M1LTEuMC4wXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdWhkL3RlbXBsYXRl IGIvc3JjcGtncy91aGQvdGVtcGxhdGUKaW5kZXggN2Q5ZDM3YzZlYzIuLjhiZGEyODc5NTY0IDEw MDY0NAotLS0gYS9zcmNwa2dzL3VoZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3VoZC90ZW1wbGF0 ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndWhkJwogcGtnbmFtZT11 aGQKLXZlcnNpb249My4xNC4xLjEKLXJldmlzaW9uPTIKK3ZlcnNpb249My4xNS4wLjAKK3Jldmlz aW9uPTEKIHdya3NyYz0iJHtwa2duYW1lfS0ke3ZlcnNpb259IgogYnVpbGRfd3Jrc3JjPWhvc3QK IGJ1aWxkX3N0eWxlPWNtYWtlCi1ob3N0bWFrZWRlcGVuZHM9ImRveHlnZW4gcGtnLWNvbmZpZyBw eXRob24tTWFrbyBweXRob24tbnVtcHkgcHl0aG9uLXJlcXVlc3RzIgoraG9zdG1ha2VkZXBlbmRz PSJkb3h5Z2VuIHBrZy1jb25maWcgcHl0aG9uMy1NYWtvIHB5dGhvbjMtbnVtcHkgcHl0aG9uMy1y ZXF1ZXN0cyIKIG1ha2VkZXBlbmRzPSJsaWJ1c2ItZGV2ZWwgYm9vc3QtZGV2ZWwiCiBzaG9ydF9k ZXNjPSJFdHR1cyBVU1JQIEhhcmR3YXJlIGRyaXZlciBsaWJyYXJ5IgogbWFpbnRhaW5lcj0iUmVt aSBQb21tYXJlbCA8cmVwa0B0cmlwbGVmYXUubHQ+IgpAQCAtMTMsNyArMTMsNyBAQCBsaWNlbnNl PSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vZmlsZXMuZXR0dXMuY29tLyIK IGNoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0V0dHVzUmVzZWFy Y2gvdWhkL21hc3Rlci9DSEFOR0VMT0ciCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9F dHR1c1Jlc2VhcmNoL3VoZC9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPThj YmNiMjJkMTIzNzRjZWIyODU5Njg5YjFkNjhkOWE1ZmE2YmQ1YmQ4MjQwN2Y2Njk1Mjg2M2Q1NTQ3 ZDI3ZDAKK2NoZWNrc3VtPWVlZDRhNzdkNzVmYWFmZmY1NmJlNzg5ODU5NTAwMzlmOGQ5ZDFlYjlm Y2JkNThiODg2MmU0ODFkZDQ5ODI1Y2QKIAogY2FzZSAiJHtYQlBTX1RBUkdFVF9NQUNISU5FfSIg aW4KIAlhcm0qKSBjb25maWd1cmVfYXJncz0iLURORU9OX1NJTURfRU5BQkxFPU9GRiIKCkZyb20g MjBiZjhjNTgxOWFjN2ZmNWMyMzBiM2IxYmVjYmFhZTUzMmE3MGMzOSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogYnJhMW53YXZlIDxicmExbndhdmVAcHJvdG9ubWFpbC5jb20+CkRhdGU6 IFNhdCwgMSBGZWIgMjAyMCAyMTowNTozNyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMTBdIE5l dyBwYWNrYWdlOiBtcGlyLTMuMC4wCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICB8ICAyICsr CiBzcmNwa2dzL21waXItZGV2ZWwgICAgfCAgMSArCiBzcmNwa2dzL21waXIvdGVtcGxhdGUgfCAy NCArKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbXBpci1kZXZlbAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvbXBpci90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMg Yi9jb21tb24vc2hsaWJzCmluZGV4IDEwMzU4NTk2MmY5Li43N2M5YzFjMWQ3NSAxMDA2NDQKLS0t IGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0zNzkwLDMgKzM3OTAsNSBA QCBsaWJyZGthZmthKysuc28uMSBsaWJyZGthZmthLTEuMy4wXzEKIGxpYmNvLnNvLjAgbGliY28t MjBfMQogbGlicmFmdC5zby4wIHJhZnQtMC45LjE2XzEKIGxpYm1kbnNkLnNvLjAgbGlibWRuc2Qt MC44XzEKK2xpYm1waXIuc28uMjMgbXBpci0zLjAuMF8xCitsaWJtcGlyeHguc28uOCBtcGlyLTMu MC4wXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXBpci1kZXZlbCBiL3NyY3BrZ3MvbXBpci1kZXZl bApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMC4uYTMxNmZmMjA1NTIKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL21waXItZGV2ZWwKQEAgLTAsMCArMSBAQAorbXBpcgpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXBpci90ZW1w bGF0ZSBiL3NyY3BrZ3MvbXBpci90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uYTkxMDIxNGZjM2EKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL21waXIv dGVtcGxhdGUKQEAgLTAsMCArMSwyNCBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnbXBpcicKK3Br Z25hbWU9bXBpcgordmVyc2lvbj0zLjAuMAorcmV2aXNpb249MQorYnVpbGRfc3R5bGU9Z251LWNv bmZpZ3VyZQorY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLWN4eCIKK2hvc3RtYWtlZGVwZW5kcz0i bTQgd2hpY2ggeWFzbSIKK3Nob3J0X2Rlc2M9Ik11bHRpcGxlIFByZWNpc2lvbiBJbnRlZ2VycyBh bmQgUmF0aW9uYWxzIgorbWFpbnRhaW5lcj0iQW5kcmV3IEJlbnNvbiA8YWJlbnNvbit2b2lkQGdt YWlsLmNvbT4iCitsaWNlbnNlPSJMR1BMLTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRwOi8v bXBpci5vcmciCitkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L21waXItJHt2ZXJzaW9ufS50YXIuYnoy IgorY2hlY2tzdW09NTJmNjM0NTljZjNmOTQ3ODg1OWRlMjllMDAzNTdmMDA0MDUwZWFkNzBiNDU5 MTNmMmMyMjY5ZDk3MDg2NzViYgorCittcGlyLWRldmVsX3BhY2thZ2UoKSB7CisJc2hvcnRfZGVz Yys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJz aW9ufV8ke3JldmlzaW9ufSIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUK KwkJdm1vdmUgdXNyL3NoYXJlCisJCXZtb3ZlICJ1c3IvbGliLyouYSIKKwkJdm1vdmUgInVzci9s aWIvKi5zbyIKKwl9Cit9CgpGcm9tIGQ3OGMwYWYzOTU4NDM5ZjdhZjM2ZWMwYjA0MTdlZDM0ODM0 YWJjYTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGJyYTFud2F2ZSA8YnJhMW53YXZl QHByb3Rvbm1haWwuY29tPgpEYXRlOiBTYXQsIDEgRmViIDIwMjAgMjI6MTI6MzggKzAxMDAKU3Vi amVjdDogW1BBVENIIDA1LzEwXSBnbnVyYWRpby1vc21vc2RyOiB1cGRhdGUgdG8gMC4xLjUuCgpb c2tpcCBjaV0KLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgMiArLQogLi4uL3BhdGNoZXMvMDAwMS1nbnVyYWRpbzMuOC1zdXBwb3J0LnBhdGNo ICAgIHwgMTUyODMgKysrKysrKysrKysrKysrKwogLi4uL3BhdGNoZXMvMDAwMi1maW5kLWdyMzgt YmxvY2tzLnBhdGNoICAgICAgIHwgICAgNjUgKwogc3JjcGtncy9nbnVyYWRpby1vc21vc2RyL3Rl bXBsYXRlICAgICAgICAgICAgIHwgICAgMTQgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTUzNTYgaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2du dXJhZGlvLW9zbW9zZHIvcGF0Y2hlcy8wMDAxLWdudXJhZGlvMy44LXN1cHBvcnQucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2dudXJhZGlvLW9zbW9zZHIvcGF0Y2hlcy8wMDAyLWZp bmQtZ3IzOC1ibG9ja3MucGF0Y2gKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9u L3NobGlicwppbmRleCA3N2M5YzFjMWQ3NS4uZTRhZGNhOTUzODggMTAwNjQ0Ci0tLSBhL2NvbW1v bi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMzE4MSw3ICszMTgxLDcgQEAgbGliZ251 cmFkaW8tdmlkZW8tc2RsLnNvLjMuOC4wIGdudXJhZGlvLTMuOC4wLjBfMQogbGliZ251cmFkaW8t dm9jb2Rlci5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEKIGxpYmdudXJhZGlvLXdhdmVsZXQu c28uMy44LjAgZ251cmFkaW8tMy44LjAuMF8xCiBsaWJnbnVyYWRpby11aGQuc28uMy44LjAgZ251 cmFkaW8tMy44LjAuMF8xCi1saWJnbnVyYWRpby1vc21vc2RyLTAuMS40LnNvLjAuMC4wIGdudXJh ZGlvLW9zbW9zZHItMC4xLjRfMQorbGliZ251cmFkaW8tb3Ntb3Nkci0wLjEuNS5zby4wLjAuMCBn bnVyYWRpby1vc21vc2RyLTAuMS41XzEKIGxpYmZsYW5uX2NwcC5zby4xLjkgZmxhbm4tMS45LjFf MQogbGliZmxhbm4uc28uMS45IGZsYW5uLTEuOS4xXzEKIGxpYnZ0a0NoYXJ0c0NvcmUtOC4yLnNv LjEgdnRrLTguMi4wXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ251cmFkaW8tb3Ntb3Nkci9wYXRj aGVzLzAwMDEtZ251cmFkaW8zLjgtc3VwcG9ydC5wYXRjaCBiL3NyY3BrZ3MvZ251cmFkaW8tb3Nt b3Nkci9wYXRjaGVzLzAwMDEtZ251cmFkaW8zLjgtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjI2ZmUyYzNlMGIKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2dudXJhZGlvLW9zbW9zZHIvcGF0Y2hlcy8wMDAxLWdudXJhZGlvMy44LXN1cHBv cnQucGF0Y2gKQEAgLTAsMCArMSwxNTI4MyBAQAorRnJvbSAwNWEwOTljZTI0NzY3YmU1M2MwMzA3 NDNkYjgyY2NiZGE5M2I5NDI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYt OD9xP01pY2tleT0yMFY9QzM9QTRuc2s9QzM9QTQ/PSA8bXZhZW5za2FlQGdtYWlsLmNvbT4KK0Rh dGU6IE1vbiwgMSBBcHIgMjAxOSAyMjo1MTo1MyArMDIwMAorU3ViamVjdDogW1BBVENIIDEvN10g UG9ydCBmb3IgdXBjb21pbmcgR05VIFJhZGlvIHYzLjguIFlNTCBmaWxlcyBzdGlsbAorIG1pc3Np bmcuCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1NpZ25lZC1vZmYtYnk6 IE1pY2tleSBWw6Ruc2vDpCA8bXZhZW5za2FlQGdtYWlsLmNvbT4KKy0tLQorIC5naXRpZ25vcmUg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKworIENNYWtlTGlzdHMu dHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMzcgKystCisgYXBwcy9DTWFr ZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArLQorIGNtYWtlL01v ZHVsZXMvQ01ha2VQYXJzZUFyZ3VtZW50c0NvcHkuY21ha2UgICB8ICAgIDIgKy0KKyBjbWFrZS9N b2R1bGVzL0ZpbmRHbnVyYWRpb0ZDRC5jbWFrZSAgICAgICAgICAgfCAgIDM0IC0KKyBjbWFrZS9N b2R1bGVzL0ZpbmRHbnVyYWRpb0ZDRFBQLmNtYWtlICAgICAgICAgfCAgIDM0IC0KKyBjbWFrZS9N b2R1bGVzL0ZpbmRHbnVyYWRpb0lRQmFsYW5jZS5jbWFrZSAgICAgfCAgIDI5IC0KKyBjbWFrZS9N b2R1bGVzL0ZpbmRHbnVyYWRpb1VIRC5jbWFrZSAgICAgICAgICAgfCAgIDM0IC0KKyBjbWFrZS9N b2R1bGVzL0ZpbmRVSEQuY21ha2UgICAgICAgICAgICAgICAgICAgfCAgIDI4IC0KKyBjbWFrZS9N b2R1bGVzL0dyQ29tcG9uZW50LmNtYWtlICAgICAgICAgICAgICAgfCAgMTE1IC0tCisgY21ha2Uv TW9kdWxlcy9Hck1pc2NVdGlscy5jbWFrZSAgICAgICAgICAgICAgIHwgIDUxOSAtLS0tLS0KKyBj bWFrZS9Nb2R1bGVzL0dyUGxhdGZvcm0uY21ha2UgICAgICAgICAgICAgICAgfCAgIDU0IC0KKyBj bWFrZS9Nb2R1bGVzL0dyUHl0aG9uLmNtYWtlICAgICAgICAgICAgICAgICAgfCAgMjQyIC0tLQor IGNtYWtlL01vZHVsZXMvR3JTd2lnLmNtYWtlICAgICAgICAgICAgICAgICAgICB8ICAyNDggLS0t CisgY21ha2UvTW9kdWxlcy9HclRlc3QuY21ha2UgICAgICAgICAgICAgICAgICAgIHwgIDE0MyAt LQorIGNtYWtlL01vZHVsZXMvR3JWZXJzaW9uLmNtYWtlICAgICAgICAgICAgICAgICB8ICAgODIg LQorIGNtYWtlL01vZHVsZXMvT3Ntb1NEUk1pc2NVdGlscy5jbWFrZSAgICAgICAgICB8ICAxMzIg KysKKyBjbWFrZS9Nb2R1bGVzL29zbW9zZHJDb25maWcuY21ha2UgICAgICAgICAgICAgfCAgIDMx ICsKKyBjbWFrZS9Nb2R1bGVzL3RhcmdldENvbmZpZy5jbWFrZS5pbiAgICAgICAgICAgfCAgIDI2 ICsKKyBkb2NzL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA4 ICstCisgZG9jcy9kb3h5Z2VuL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgIHwgICAg MyArLQorIGRvY3MvZG94eWdlbi9Eb3h5ZmlsZS5pbiAgICAgICAgICAgICAgICAgICAgICB8ICA3 NTIgKysrKysrLS0KKyBkb2NzL2RveHlnZW4vRG94eWZpbGUuc3dpZ19kb2MuaW4gICAgICAgICAg ICAgfCAgNjg0ICsrKysrKy0tCisgZG9jcy9kb3h5Z2VuL2RveHl4bWwvX19pbml0X18ucHkgICAg ICAgICAgICAgIHwgICAgNiArLQorIGRvY3MvZG94eWdlbi9kb3h5eG1sL2Jhc2UucHkgICAgICAg ICAgICAgICAgICB8ICAgMjEgKy0KKyBkb2NzL2RveHlnZW4vZG94eXhtbC9kb3h5aW5kZXgucHkg ICAgICAgICAgICAgfCAgIDk3ICstCisgZG9jcy9kb3h5Z2VuL2RveHl4bWwvZXhhbXBsZS9Eb3h5 ZmlsZSAgICAgICAgIHwgMTU1MSAtLS0tLS0tLS0tLS0tLS0tLQorIGRvY3MvZG94eWdlbi9kb3h5 eG1sL2V4YW1wbGUvYWFkdmFyay5jYyAgICAgICB8ICAgNTAgLQorIGRvY3MvZG94eWdlbi9kb3h5 eG1sL2V4YW1wbGUvYWFkdmFyay5oICAgICAgICB8ICAgNDQgLQorIC4uLi9kb3h5eG1sL2V4YW1w bGUveG1sL2FhZHZhcmtfOGNjLnhtbCAgICAgICB8ICAgODggLQorIC4uLi9kb3h5eG1sL2V4YW1w bGUveG1sL2FhZHZhcmtfOGgueG1sICAgICAgICB8ICAgNzIgLQorIC4uLi9kb3h5eG1sL2V4YW1w bGUveG1sL2NsYXNzQWFkdmFyay54bWwgICAgICB8ICAgODYgLQorIGRvY3MvZG94eWdlbi9kb3h5 eG1sL2V4YW1wbGUveG1sL2NvbWJpbmUueHNsdCB8ICAgMTUgLQorIGRvY3MvZG94eWdlbi9kb3h5 eG1sL2V4YW1wbGUveG1sL2NvbXBvdW5kLnhzZCB8ICA4MTQgLS0tLS0tLS0tCisgZG9jcy9kb3h5 Z2VuL2RveHl4bWwvZXhhbXBsZS94bWwvaW5kZXgueG1sICAgIHwgICAxNyAtCisgZG9jcy9kb3h5 Z2VuL2RveHl4bWwvZXhhbXBsZS94bWwvaW5kZXgueHNkICAgIHwgICA2NiAtCisgZG9jcy9kb3h5 Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL19faW5pdF9fLnB5ICAgIHwgICAgMSArCisgZG9jcy9kb3h5 Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2NvbXBvdW5kLnB5ICAgIHwgICAgOCArLQorIC4uLi9kb3h5 eG1sL2dlbmVyYXRlZC9jb21wb3VuZHN1cGVyLnB5ICAgICAgICB8ICAgNDAgKy0KKyBkb2NzL2Rv eHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvaW5kZXgucHkgICAgICAgfCAgICA2ICstCisgZG9jcy9k b3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2luZGV4c3VwZXIucHkgIHwgICAyMSArLQorIGRvY3Mv ZG94eWdlbi9kb3h5eG1sL3RleHQucHkgICAgICAgICAgICAgICAgICB8ICAgIDggKy0KKyBkb2Nz L2RveHlnZW4vb3RoZXIvZ3JvdXBfZGVmcy5kb3ggICAgICAgICAgICAgfCAgICA1ICstCisgZG9j cy9kb3h5Z2VuL290aGVyL21haW5fcGFnZS5kb3ggICAgICAgICAgICAgIHwgICAgNyArLQorIGRv Y3MvZG94eWdlbi9zd2lnX2RvYy5weSAgICAgICAgICAgICAgICAgICAgICB8ICAxNTcgKy0KKyBn cmMvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICstCisg Z3JjL2dlbl9vc21vc2RyX2Jsb2Nrcy5weSAgICAgICAgICAgICAgICAgICAgIHwgICAgOCArLQor IGluY2x1ZGUvb3Ntb3Nkci9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICB8ICAgMTIgKy0K KyBpbmNsdWRlL29zbW9zZHIvYXBpLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICst CisgaW5jbHVkZS9vc21vc2RyL3NpbmsuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDY4OSAr KysrLS0tLQorIGluY2x1ZGUvb3Ntb3Nkci9zb3VyY2UuaCAgICAgICAgICAgICAgICAgICAgICB8 ICA3NTUgKysrKy0tLS0KKyBsaWIvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDMwICstCisgcHl0aG9uL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgMyArLQorIHB5dGhvbi9fX2luaXRfXy5weSAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMTAgKy0KKyBzd2lnL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDE5ICstCisgc3dpZy9vc21vc2RyX3N3aWcuaSAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICA3MCArLQorIDU2IGZpbGVzIGNoYW5nZWQsIDI1MTMgaW5zZXJ0aW9ucygr KSwgNTczNyBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgLmdpdGlnbm9yZQorIGRl bGV0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb0ZDRC5jbWFrZQorIGRl bGV0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb0ZDRFBQLmNtYWtlCisg ZGVsZXRlIG1vZGUgMTAwNjQ0IGNtYWtlL01vZHVsZXMvRmluZEdudXJhZGlvSVFCYWxhbmNlLmNt YWtlCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGNtYWtlL01vZHVsZXMvRmluZEdudXJhZGlvVUhELmNt YWtlCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGNtYWtlL01vZHVsZXMvRmluZFVIRC5jbWFrZQorIGRl bGV0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0dyQ29tcG9uZW50LmNtYWtlCisgZGVsZXRl IG1vZGUgMTAwNjQ0IGNtYWtlL01vZHVsZXMvR3JNaXNjVXRpbHMuY21ha2UKKyBkZWxldGUgbW9k ZSAxMDA2NDQgY21ha2UvTW9kdWxlcy9HclBsYXRmb3JtLmNtYWtlCisgZGVsZXRlIG1vZGUgMTAw NjQ0IGNtYWtlL01vZHVsZXMvR3JQeXRob24uY21ha2UKKyBkZWxldGUgbW9kZSAxMDA2NDQgY21h a2UvTW9kdWxlcy9HclN3aWcuY21ha2UKKyBkZWxldGUgbW9kZSAxMDA2NDQgY21ha2UvTW9kdWxl cy9HclRlc3QuY21ha2UKKyBkZWxldGUgbW9kZSAxMDA2NDQgY21ha2UvTW9kdWxlcy9HclZlcnNp b24uY21ha2UKKyBjcmVhdGUgbW9kZSAxMDA2NDQgY21ha2UvTW9kdWxlcy9Pc21vU0RSTWlzY1V0 aWxzLmNtYWtlCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGNtYWtlL01vZHVsZXMvb3Ntb3NkckNvbmZp Zy5jbWFrZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL3RhcmdldENvbmZpZy5j bWFrZS5pbgorIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2NzL2RveHlnZW4vZG94eXhtbC9leGFtcGxl L0RveHlmaWxlCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGRvY3MvZG94eWdlbi9kb3h5eG1sL2V4YW1w bGUvYWFkdmFyay5jYworIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2NzL2RveHlnZW4vZG94eXhtbC9l eGFtcGxlL2FhZHZhcmsuaAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2NzL2RveHlnZW4vZG94eXht bC9leGFtcGxlL3htbC9hYWR2YXJrXzhjYy54bWwKKyBkZWxldGUgbW9kZSAxMDA2NDQgZG9jcy9k b3h5Z2VuL2RveHl4bWwvZXhhbXBsZS94bWwvYWFkdmFya184aC54bWwKKyBkZWxldGUgbW9kZSAx MDA2NDQgZG9jcy9kb3h5Z2VuL2RveHl4bWwvZXhhbXBsZS94bWwvY2xhc3NBYWR2YXJrLnhtbAor IGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2NzL2RveHlnZW4vZG94eXhtbC9leGFtcGxlL3htbC9jb21i aW5lLnhzbHQKKyBkZWxldGUgbW9kZSAxMDA2NDQgZG9jcy9kb3h5Z2VuL2RveHl4bWwvZXhhbXBs ZS94bWwvY29tcG91bmQueHNkCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGRvY3MvZG94eWdlbi9kb3h5 eG1sL2V4YW1wbGUveG1sL2luZGV4LnhtbAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2NzL2RveHln ZW4vZG94eXhtbC9leGFtcGxlL3htbC9pbmRleC54c2QKKworZGlmZiAtLWdpdCBhLy5naXRpZ25v cmUgYi8uZ2l0aWdub3JlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNDUw NWRmOAorLS0tIC9kZXYvbnVsbAorKysrIC5naXRpZ25vcmUKK0BAIC0wLDAgKzEsNiBAQAorKyp+ CisrKi5weWMKKysqLnB5bworK2J1aWxkKi8KKytjbWFrZS0qCisrbGlib3Ntby1kc3AvKgorZGlm ZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IGFmMjEyOTEu LmU5MzJkNzAgMTAwNjQ0CistLS0gQ01ha2VMaXN0cy50eHQKKysrKyBDTWFrZUxpc3RzLnR4dAor QEAgLTEsNiArMSw3IEBACistIyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKysjIENvcHlyaWdodCAyMDExLDIwMTIsMjAxNCwyMDE2LDIwMTggRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJh ZGlvCisrIyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJv bSB0aGUgR05VIFJhZGlvIGZyYW1ld29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1v c21vc2RyCisgIworICMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtMjAsMTEgKzIxLDIx IEBACisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBQcm9qZWN0IHNldHVwCisgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CistY21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDIuNikKKytjbWFrZV9taW5pbXVtX3Jl cXVpcmVkKFZFUlNJT04gMy44KQorIHByb2plY3QoZ3Itb3Ntb3NkciBDWFggQykKKyBlbmFibGVf dGVzdGluZygpCisgCistbGlzdChBUFBFTkQgQ01BS0VfTU9EVUxFX1BBVEggJHtDTUFLRV9TT1VS Q0VfRElSfS9jbWFrZS9Nb2R1bGVzKQorKyNpbnN0YWxsIHRvIFB5Qk9NQlMgdGFyZ2V0IHByZWZp eCBpZiBkZWZpbmVkCisraWYoREVGSU5FRCBFTlZ7UFlCT01CU19QUkVGSVh9KQorKyAgICBzZXQo Q01BS0VfSU5TVEFMTF9QUkVGSVggJEVOVntQWUJPTUJTX1BSRUZJWH0pCisrICAgIG1lc3NhZ2Uo U1RBVFVTICJQeUJPTUJTIGluc3RhbGxlZCBHTlUgUmFkaW8uIFNldHRpbmcgQ01BS0VfSU5TVEFM TF9QUkVGSVggdG8gJEVOVntQWUJPTUJTX1BSRUZJWH0iKQorK2VuZGlmKCkKKysKKysjIEdldCBH TlUgUmFkaW8gSW5zdGFsbGF0aW9uIFByZWZpeAorK2lmKERFRklORUQgQ01BS0VfSU5TVEFMTF9Q UkVGSVgpCisrICAgIHNldChHUl9QUkVGSVggJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0pCisrICAg IG1lc3NhZ2UoU1RBVFVTICJJbnN0YWxsYXRpb24gaXMgbG9jYXRlZCBhdDogJHtHUl9QUkVGSVh9 IikKKytlbmRpZigpCisgCisgI3NlbGVjdCB0aGUgcmVsZWFzZSBidWlsZCB0eXBlIGJ5IGRlZmF1 bHQgdG8gZ2V0IG9wdGltaXphdGlvbiBmbGFncworIGlmKE5PVCBDTUFLRV9CVUlMRF9UWVBFKQor QEAgLTMzLDMwICs0NCwzMiBAQCBpZihOT1QgQ01BS0VfQlVJTERfVFlQRSkKKyBlbmRpZihOT1Qg Q01BS0VfQlVJTERfVFlQRSkKKyBzZXQoQ01BS0VfQlVJTERfVFlQRSAke0NNQUtFX0JVSUxEX1RZ UEV9IENBQ0hFIFNUUklORyAiIikKKyAKKy1zZXQoRU5BQkxFX05PTkZSRUUgRkFMU0UgQ0FDSEUg Qk9PTCAiRW5hYmxlIG9yIGRpc2FibGUgbm9uZnJlZSBjb21wb25lbnRzLiIpCisrI21ha2Ugc3Vy ZSBvdXIgbG9jYWwgQ01ha2UgTW9kdWxlcyBwYXRoIGNvbWVzIGZpcnN0CisrbGlzdChJTlNFUlQg Q01BS0VfTU9EVUxFX1BBVEggMCAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlL01vZHVsZXMpCisg CisgIyBTZXQgdGhlIHZlcnNpb24gaW5mb3JtYXRpb24gaGVyZQorIHNldChWRVJTSU9OX0lORk9f TUFKT1JfVkVSU0lPTiAwKQorIHNldChWRVJTSU9OX0lORk9fQVBJX0NPTVBBVCAgICAxKQorIHNl dChWRVJTSU9OX0lORk9fTUlOT1JfVkVSU0lPTiA1KQorIHNldChWRVJTSU9OX0lORk9fTUFJTlRf VkVSU0lPTiAwKQorLWluY2x1ZGUoR3JWZXJzaW9uKSAjc2V0dXAgdmVyc2lvbiBpbmZvCisrCisr Y21ha2VfcG9saWN5KFNFVCBDTVAwMDExIE5FVykKKysKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAj IENvbXBpbGVyIHNwZWNpZmljIHNldHVwCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistCisgSUYoQ01BS0Vf U1lTVEVNX1BST0NFU1NPUiBNQVRDSEVTICJ4ODZfNjR8QU1ENjR8eDg2IikKKy0gU0VUKFVTRV9T SU1EICJTU0UyIiBDQUNIRSBTVFJJTkcgIlVzZSBTSU1EIGluc3RydWN0aW9ucyIpCisrICAgIFNF VChVU0VfU0lNRCAiU1NFMiIgQ0FDSEUgU1RSSU5HICJVc2UgU0lNRCBpbnN0cnVjdGlvbnMiKQor IEVMU0UoKQorLSBTRVQoVVNFX1NJTUQgIm5vIiBDQUNIRSBTVFJJTkcgIlVzZSBTSU1EIGluc3Ry dWN0aW9ucyIpCisrICAgIFNFVChVU0VfU0lNRCAibm8iIENBQ0hFIFNUUklORyAiVXNlIFNJTUQg aW5zdHJ1Y3Rpb25zIikKKytFTkRJRigpCisrU0VUKFVTRV9TSU1EX1ZBTFVFUyAibm8iICJTU0Uy IiAiQVZYIikKKytTRVRfUFJPUEVSVFkoQ0FDSEUgVVNFX1NJTUQgUFJPUEVSVFkgU1RSSU5HUyAk e1VTRV9TSU1EX1ZBTFVFU30pCisrTElTVChGSU5EIFVTRV9TSU1EX1ZBTFVFUyAke1VTRV9TSU1E fSBVU0VfU0lNRF9JTkRFWCkKKytJRigke1VTRV9TSU1EX0lOREVYfSBFUVVBTCAtMSkKKysgICAg bWVzc2FnZShGQVRBTF9FUlJPUiAiT3B0aW9uICR7VVNFX1NJTUR9IG5vdCBzdXBwb3J0ZWQsIHZh bGlkIGVudHJpZXMgYXJlICR7VVNFX1NJTURfVkFMVUVTfSIpCisgRU5ESUYoKQorLSBTRVQoVVNF X1NJTURfVkFMVUVTICJubyIgIlNTRTIiICJBVlgiKQorLSBTRVRfUFJPUEVSVFkoQ0FDSEUgVVNF X1NJTUQgUFJPUEVSVFkgU1RSSU5HUyAke1VTRV9TSU1EX1ZBTFVFU30pCistIExJU1QoRklORCBV U0VfU0lNRF9WQUxVRVMgJHtVU0VfU0lNRH0gVVNFX1NJTURfSU5ERVgpCistIElGKCR7VVNFX1NJ TURfSU5ERVh9IEVRVUFMIC0xKQorLSAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIk9wdGlvbiAke1VT RV9TSU1EfSBub3Qgc3VwcG9ydGVkLCB2YWxpZCBlbnRyaWVzIGFyZSAke1VTRV9TSU1EX1ZBTFVF U30iKQorLSBFTkRJRigpCisgCisgSUYoQ01BS0VfQ1hYX0NPTVBJTEVSIE1BVENIRVMgIi4qY2xh bmciKQorICAgICBTRVQoQ01BS0VfQ09NUElMRVJfSVNfQ0xBTkdYWCAxKQorQEAgLTk0LDEwNCAr MTA3LDE0NCBAQCBFTFNFSUYoTVNWQykKKyAgICAgRU5ESUYoKQorIEVORElGKCkKKyAKKysjaWYo KENNQUtFX0NYWF9DT01QSUxFUl9JRCBNQVRDSEVTICJDbGFuZyIgT1IKKysjICAgIENNQUtFX0NY WF9DT01QSUxFUl9JRCBTVFJFUVVBTCAiR05VIikKKysjICAgIEFORCBOT1QgV0lOMzIpCisrIyAg ICAjaHR0cDovL2djYy5nbnUub3JnL3dpa2kvVmlzaWJpbGl0eQorKyMgICAgYWRkX2RlZmluaXRp b25zKC1mdmlzaWJpbGl0eT1oaWRkZW4pCisrI2VuZGlmKCkKKysKKyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK Ky0jIFNldHVwIGJvb3N0CisrIyBJbnN0YWxsIGRpcmVjdG9yaWVzCisgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CistTUVTU0FHRShTVEFUVVMgIkNvbmZpZ3VyaW5nIEJvb3N0IEMrKyBMaWJyYXJpZXMuLi4iKQor LQorLSMgQWx0aG91Z2ggbm90IHJlcXVpcmVkIG9uIG15IHN5c3RlbSwgc29tZSB1c2VycyBoYXZl IGxpbmtpbmcgaXNzdWVzIHdpdGhvdXQKKy1TRVQoQk9PU1RfUkVRVUlSRURfQ09NUE9ORU5UUwor LSAgICB0aHJlYWQKKy0gICAgc3lzdGVtCistKQorLQorLWlmKFVOSVggQU5EIE5PVCBCT09TVF9S T09UIEFORCBFWElTVFMgIi91c3IvbGliNjQiKQorLSAgICBsaXN0KEFQUEVORCBCT09TVF9MSUJS QVJZRElSICIvdXNyL2xpYjY0IikgI2ZlZG9yYSA2NC1iaXQgZml4CistZW5kaWYoVU5JWCBBTkQg Tk9UIEJPT1NUX1JPT1QgQU5EIEVYSVNUUyAiL3Vzci9saWI2NCIpCistCistc2V0KEJvb3N0X0FE RElUSU9OQUxfVkVSU0lPTlMKKy0gICAgIjEuMzUuMCIgIjEuMzUiICIxLjM2LjAiICIxLjM2IiAi MS4zNy4wIiAiMS4zNyIgIjEuMzguMCIgIjEuMzgiICIxLjM5LjAiICIxLjM5IgorLSAgICAiMS40 MC4wIiAiMS40MCIgIjEuNDEuMCIgIjEuNDEiICIxLjQyLjAiICIxLjQyIiAiMS40My4wIiAiMS40 MyIgIjEuNDQuMCIgIjEuNDQiCistICAgICIxLjQ1LjAiICIxLjQ1IiAiMS40Ni4wIiAiMS40NiIg IjEuNDcuMCIgIjEuNDciICIxLjQ4LjAiICIxLjQ4IiAiMS40OS4wIiAiMS40OSIKKy0gICAgIjEu NTAuMCIgIjEuNTAiICIxLjUxLjAiICIxLjUxIiAiMS41Mi4wIiAiMS41MiIgIjEuNTMuMCIgIjEu NTMiICIxLjU0LjAiICIxLjU0IgorLSAgICAiMS41NS4wIiAiMS41NSIgIjEuNTYuMCIgIjEuNTYi ICIxLjU3LjAiICIxLjU3IiAiMS41OC4wIiAiMS41OCIgIjEuNTkuMCIgIjEuNTkiCistICAgICIx LjYwLjAiICIxLjYwIiAiMS42MS4wIiAiMS42MSIgIjEuNjIuMCIgIjEuNjIiICIxLjYzLjAiICIx LjYzIiAiMS42NC4wIiAiMS42NCIKKy0gICAgIjEuNjUuMCIgIjEuNjUiICIxLjY2LjAiICIxLjY2 IiAiMS42Ny4wIiAiMS42NyIgIjEuNjguMCIgIjEuNjgiICIxLjY5LjAiICIxLjY5IgorLSkKKy0K Ky1maW5kX3BhY2thZ2UoQm9vc3QgQ09NUE9ORU5UUyAke0JPT1NUX1JFUVVJUkVEX0NPTVBPTkVO VFN9KQorLQorLWlmKE5PVCBCb29zdF9GT1VORCkKKy0gICAgbWVzc2FnZShGQVRBTF9FUlJPUiAi Qm9vc3QgcmVxdWlyZWQgdG8gYnVpbGQgIiAke0NNQUtFX1BST0pFQ1RfTkFNRX0pCisrZmluZF9w YWNrYWdlKEdudXJhZGlvICIzLjgiIFJFUVVJUkVEKSAjIFNpZGUgZWZmZWN0IG9mIE1PRFVMRV9Q QVRIIGdldHRpbmcgcHJlcGVuZGVkIHdpdGggc3lzdGVtIGNvbXBvbmVudHMKKytzZXQoTUlOX0dS X1ZFUlNJT04gIjMuOCIpCisraWYoIiR7R251cmFkaW9fVkVSU0lPTn0iIFZFUlNJT05fTEVTUyBN SU5fR1JfVkVSU0lPTikKKysgICAgTUVTU0FHRShGQVRBTF9FUlJPUiAiR251UmFkaW8gdmVyc2lv biByZXF1aXJlZDogPj1cIiIgJHtNSU5fR1JfVkVSU0lPTn0gIlwiIGZvdW5kOiBcIiIgJHtHbnVy YWRpb19WRVJTSU9OfSAiXCIiKQorIGVuZGlmKCkKKyAKKy1BRERfREVGSU5JVElPTlMoLURCT09T VF9BTExfRFlOX0xJTkspCisraW5jbHVkZShHclZlcnNpb24pCisgCistIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CistIyBJbnN0YWxsIGRpcmVjdG9yaWVzCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgaW5jbHVkZShHclBs YXRmb3JtKSAjZGVmaW5lIExJQl9TVUZGSVgKKy1zZXQoR1JfUlVOVElNRV9ESVIgICAgICBiaW4p CisraWYoTk9UIENNQUtFX01PRFVMRVNfRElSKQorKyAgICBzZXQoQ01BS0VfTU9EVUxFU19ESVIg bGliJHtMSUJfU1VGRklYfS9jbWFrZSkKKytlbmRpZihOT1QgQ01BS0VfTU9EVUxFU19ESVIpCisr CisrI3NldChHUl9SVU5USU1FX0RJUiAgICAgIGJpbikKKyBzZXQoR1JfTElCUkFSWV9ESVIgICAg ICBsaWIke0xJQl9TVUZGSVh9KQorLXNldChHUl9JTkNMVURFX0RJUiAgICAgIGluY2x1ZGUpCist c2V0KEdSX0RBVEFfRElSICAgICAgICAgc2hhcmUpCisrI3NldChHUl9JTkNMVURFX0RJUiAgICAg IGluY2x1ZGUpCisrI3NldChHUl9EQVRBX0RJUiAgICAgICAgIHNoYXJlKQorIHNldChHUl9QS0df REFUQV9ESVIgICAgICR7R1JfREFUQV9ESVJ9LyR7Q01BS0VfUFJPSkVDVF9OQU1FfSkKKy1zZXQo R1JfRE9DX0RJUiAgICAgICAgICAke0dSX0RBVEFfRElSfS9kb2MpCisrI3NldChHUl9ET0NfRElS ICAgICAgICAgICR7R1JfREFUQV9ESVJ9L2RvYykKKyBpZiAoTk9UIEdSX1BLR19ET0NfRElSKQor ICAgICBzZXQoR1JfUEtHX0RPQ19ESVIgICAgICAke0dSX0RPQ19ESVJ9LyR7Q01BS0VfUFJPSkVD VF9OQU1FfSkKKyBlbmRpZigpCistc2V0KEdSX0NPTkZfRElSICAgICAgICAgZXRjKQorKyNzZXQo R1JfQ09ORl9ESVIgICAgICAgICBldGMpCisgc2V0KEdSX1BLR19DT05GX0RJUiAgICAgJHtHUl9D T05GX0RJUn0vJHtDTUFLRV9QUk9KRUNUX05BTUV9L2NvbmYuZCkKKy1zZXQoR1JfTElCRVhFQ19E SVIgICAgICBsaWJleGVjKQorKyNzZXQoR1JfTElCRVhFQ19ESVIgICAgICBsaWJleGVjKQorIHNl dChHUl9QS0dfTElCRVhFQ19ESVIgICR7R1JfTElCRVhFQ19ESVJ9LyR7Q01BS0VfUFJPSkVDVF9O QU1FfSkKKyBzZXQoR1JDX0JMT0NLU19ESVIgICAgICAke0dSX1BLR19EQVRBX0RJUn0vZ3JjL2Js b2NrcykKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIEZpbmQgYnVpbGQgZGVwZW5kZW5jaWVzCisr IyBPbiBBcHBsZSBvbmx5LCBzZXQgaW5zdGFsbCBuYW1lIGFuZCB1c2UgcnBhdGggY29ycmVjdGx5 LCBpZiBub3QgYWxyZWFkeSBzZXQKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKytpZihBUFBMRSkKKysgICAg aWYoTk9UIENNQUtFX0lOU1RBTExfTkFNRV9ESVIpCisrICAgICAgICBzZXQoQ01BS0VfSU5TVEFM TF9OQU1FX0RJUgorKyAgICAgICAgICAgICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7R1JfTElC UkFSWV9ESVJ9IENBQ0hFCisrICAgICAgICAgICAgUEFUSCAiTGlicmFyeSBJbnN0YWxsIE5hbWUg RGVzdGluYXRpb24gRGlyZWN0b3J5IiBGT1JDRSkKKysgICAgZW5kaWYoTk9UIENNQUtFX0lOU1RB TExfTkFNRV9ESVIpCisrICAgIGlmKE5PVCBDTUFLRV9JTlNUQUxMX1JQQVRIKQorKyAgICAgICAg c2V0KENNQUtFX0lOU1RBTExfUlBBVEgKKysgICAgICAgICAgICAke0NNQUtFX0lOU1RBTExfUFJF RklYfS8ke0dSX0xJQlJBUllfRElSfSBDQUNIRQorKyAgICAgICAgICAgIFBBVEggIkxpYnJhcnkg SW5zdGFsbCBSUGF0aCIgRk9SQ0UpCisrICAgIGVuZGlmKE5PVCBDTUFLRV9JTlNUQUxMX1JQQVRI KQorKyAgICBpZihOT1QgQ01BS0VfQlVJTERfV0lUSF9JTlNUQUxMX1JQQVRIKQorKyAgICAgICAg c2V0KENNQUtFX0JVSUxEX1dJVEhfSU5TVEFMTF9SUEFUSCBPTiBDQUNIRQorKyAgICAgICAgICAg IEJPT0wgIkRvIEJ1aWxkIFVzaW5nIExpYnJhcnkgSW5zdGFsbCBSUGF0aCIgRk9SQ0UpCisrICAg IGVuZGlmKE5PVCBDTUFLRV9CVUlMRF9XSVRIX0lOU1RBTExfUlBBVEgpCisrZW5kaWYoQVBQTEUp CisrCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyBGaW5kIGdudXJhZGlvIGJ1aWxkIGRlcGVuZGVuY2ll cworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworIHNldChHUl9SRVFVSVJFRF9DT01QT05FTlRTIFJVTlRJTUUg UE1UIEJMT0NLUykKKy1zZXQoTUlOX0dSX1ZFUlNJT04gIjMuNy4xMCIpCistZmluZF9wYWNrYWdl KEdudXJhZGlvIFJFUVVJUkVEKQorLWlmKCIke0dudXJhZGlvX1ZFUlNJT059IiBWRVJTSU9OX0xF U1MgTUlOX0dSX1ZFUlNJT04pCistICAgIE1FU1NBR0UoRkFUQUxfRVJST1IgIkdudVJhZGlvIHZl cnNpb24gcmVxdWlyZWQ6ID49XCIiICR7TUlOX0dSX1ZFUlNJT059ICJcIiBmb3VuZDogXCIiICR7 R251cmFkaW9fVkVSU0lPTn0gIlwiIikKKy1lbmRpZigpCisgCistZmluZF9wYWNrYWdlKEdudXJh ZGlvSVFCYWxhbmNlKQorLWZpbmRfcGFja2FnZShVSEQpCistZmluZF9wYWNrYWdlKEdudXJhZGlv VUhEKQorLWZpbmRfcGFja2FnZShHbnVyYWRpb0ZDRCkKKy1maW5kX3BhY2thZ2UoR251cmFkaW9G Q0RQUCkKKytmaW5kX3BhY2thZ2UoZ251cmFkaW8tYmxvY2tzIFBBVEhTICR7R1JfUFJFRklYfS9s aWIvY21ha2UvZ251cmFkaW8vKQorK21lc3NhZ2UoU1RBVFVTICJGb3VuZCBCbG9jayBCbG9jazog JHtnbnVyYWRpby1ibG9ja3NfRk9VTkR9IikKKysKKytmaW5kX3BhY2thZ2UoZ251cmFkaW8tcG10 IFBBVEhTICR7R1JfUFJFRklYfS9saWIvY21ha2UvZ251cmFkaW8vKQorK21lc3NhZ2UoU1RBVFVT ICJGb3VuZCBQTVQgQmxvY2s6ICR7Z251cmFkaW8tcG10X0ZPVU5EfSIpCisrCisrZmluZF9wYWNr YWdlKGdudXJhZGlvLXJ1bnRpbWUgUEFUSFMgJHtHUl9QUkVGSVh9L2xpYi9jbWFrZS9nbnVyYWRp by8pCisrbWVzc2FnZShTVEFUVVMgIkZvdW5kIFJ1bnRpbWUgQmxvY2s6ICR7Z251cmFkaW8tcnVu dGltZV9GT1VORH0iKQorKworKyMgU29mdHdhcmUgQ29tcG9uZW50cyBwYXJ0IG9mIEdOVSBSYWRp byAtIFRoZXNlIHNob3VsZCBhbGwgYmUgcHJlc2VudCBmb3IgYSBkZWZhdWx0IGluc3RhbGwKKytt ZXNzYWdlKFNUQVRVUyAiIFNlYXJjaGluZyBmb3IgSVEgQmFsYW5jZS4uLiIpCisrI2ZpbmRfcGFj a2FnZShHbnVyYWRpbyBDT01QT05FTlRTIGlxYmFsYW5jZSBSRVFVSVJFRCkKKytmaW5kX3BhY2th Z2UoZ251cmFkaW8taXFiYWxhbmNlIFBBVEhTICR7R1JfUFJFRklYfS9saWIvY21ha2UvaXFiYWxh bmNlKQorK21lc3NhZ2UgKFNUQVRVUyAiRm91bmQgSVEgQmFsYW5jZTogJHtnbnVyYWRpby1pcWJh bGFuY2VfRk9VTkR9IikKKysKKyttZXNzYWdlKFNUQVRVUyAiIFNlYXJjaGluZyBmb3IgVUhEIERy aXZlcnMuLi4iKQorKyNmaW5kX3BhY2thZ2UoR251cmFkaW8gQ09NUE9ORU5UUyB1aGQgUkVRVUlS RUQpCisrZmluZF9wYWNrYWdlKFVIRCBSRVFVSVJFRCAke0dSX1BSRUZJWH0vbGliL2NtYWtlL3Vo ZCkKKyttZXNzYWdlIChTVEFUVVMgIkZvdW5kIFVIRCBEcml2ZXI6ICR7VUhEX0ZPVU5EfSIpCisr CisrbWVzc2FnZShTVEFUVVMgIiBTZWFyY2hpbmcgZm9yIFVIRCBCbG9jay4uLiIpCisrI2ZpbmRf cGFja2FnZShHbnVyYWRpbyBDT01QT05FTlRTIGdudXJhZGlvLXVoZCBSRVFVSVJFRCkKKytmaW5k X3BhY2thZ2UoZ251cmFkaW8tdWhkIFBBVEhTICR7R1JfUFJFRklYfS9saWIvY21ha2UvZ251cmFk aW8vKQorK21lc3NhZ2UgKFNUQVRVUyAiRm91bmQgVUhEIEJsb2NrOiAke2dudXJhZGlvLXVoZF9G T1VORH0iKQorKworK21lc3NhZ2UoU1RBVFVTICIgU2VhcmNoaW5nIGZvciBWb2xrLi4uIikKKysj ZmluZF9wYWNrYWdlKEdudXJhZGlvIENPTVBPTkVOVFMgVm9sayBSRVFVSVJFRCkKKytmaW5kX3Bh Y2thZ2Uodm9sayBQQVRIUyAke0dSX1BSRUZJWH0vbGliL2NtYWtlL3ZvbGspCisrbWVzc2FnZSAo U1RBVFVTICJGb3VuZCBWb2xrOiAke3ZvbGtfRk9VTkR9IikKKysKKysjIEhhcmR3YXJlIERyaXZl cnMgZnJvbSBoZXJlIG9uIG91dCAtLSBUaGVzZSBtYXkgZmFpbCBhcyB0aGUgdXNlciBoYXNuJ3Qg aW5zdGFsbGVkIHRoZW0KKyBmaW5kX3BhY2thZ2UoTGliT3Ntb1NEUikKKyBmaW5kX3BhY2thZ2Uo TGliUlRMU0RSKQorIGZpbmRfcGFja2FnZShMaWJNaXJpU0RSKQorIGlmKEVOQUJMRV9OT05GUkVF KQorLWZpbmRfcGFja2FnZShMaWJTRFJwbGF5KQorKyAgICBmaW5kX3BhY2thZ2UoTGliU0RScGxh eSkKKyBlbmRpZihFTkFCTEVfTk9ORlJFRSkKKyBmaW5kX3BhY2thZ2UoTGliSGFja1JGKQorIGZp bmRfcGFja2FnZShMaWJBSVJTUFkpCistZmluZF9wYWNrYWdlKFZvbGspCisgZmluZF9wYWNrYWdl KExpYmJsYWRlUkYpCisgZmluZF9wYWNrYWdlKFNvYXB5U0RSIE5PX01PRFVMRSkKKyBmaW5kX3Bh Y2thZ2UoTGliRnJlZVNSUCkKKysKKysjIERvY3VtZW50YXRpb24gU3lzdGVtCisgZmluZF9wYWNr YWdlKERveHlnZW4pCisgCistaWYoTk9UIEdOVVJBRElPX1JVTlRJTUVfRk9VTkQpCistICAgIG1l c3NhZ2UoRkFUQUxfRVJST1IgIkdudVJhZGlvIFJ1bnRpbWUgcmVxdWlyZWQgdG8gYnVpbGQgIiAk e0NNQUtFX1BST0pFQ1RfTkFNRX0pCistZW5kaWYoKQorKyNnZXRfY21ha2VfcHJvcGVydHkoX3Zh cmlhYmxlTmFtZXMgVkFSSUFCTEVTKQorKyNsaXN0IChTT1JUIF92YXJpYWJsZU5hbWVzKQorKyNm b3JlYWNoIChfdmFyaWFibGVOYW1lICR7X3ZhcmlhYmxlTmFtZXN9KQorKyMgICAgbWVzc2FnZShT VEFUVVMgIiR7X3ZhcmlhYmxlTmFtZX09JHske192YXJpYWJsZU5hbWV9fSIpCisrI2VuZGZvcmVh Y2goKQorKworKworKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyMgU2V0dXAgZG94eWdlbiBvcHRpb24KKysj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKytpZihET1hZR0VOX0ZPVU5EKQorKyAgICBvcHRpb24oRU5BQkxFX0RP WFlHRU4gIkJ1aWxkIGRvY3MgdXNpbmcgRG94eWdlbiIgT04pCisrZWxzZShET1hZR0VOX0ZPVU5E KQorKyAgICBvcHRpb24oRU5BQkxFX0RPWFlHRU4gIkJ1aWxkIGRvY3MgdXNpbmcgRG94eWdlbiIg T0ZGKQorK2VuZGlmKERPWFlHRU5fRk9VTkQpCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBTZXR1 cCB0aGUgaW5jbHVkZSBhbmQgbGlua2VyIHBhdGhzCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgaW5jbHVk ZV9kaXJlY3RvcmllcygKKy0gICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9pbmNsdWRlCistICAgICR7 Q01BS0VfU09VUkNFX0RJUn0vbGliCistICAgICR7Qm9vc3RfSU5DTFVERV9ESVJTfQorLSAgICAk e0dOVVJBRElPX0FMTF9JTkNMVURFX0RJUlN9CisrICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9 L2luY2x1ZGUKKysgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vbGliCisrICAgICAgICAke0Jv b3N0X0lOQ0xVREVfRElSU30KKysgICAgICAgICR7R05VUkFESU9fQUxMX0lOQ0xVREVfRElSU30K KyApCisgCisgbGlua19kaXJlY3RvcmllcygKKy0gICAgJHtCb29zdF9MSUJSQVJZX0RJUlN9Cist ICAgICR7R05VUkFESU9fQUxMX0xJQlJBUllfRElSU30KKysgICAgICAgICR7Qm9vc3RfTElCUkFS WV9ESVJTfQorKyAgICAgICAgJHtHTlVSQURJT19BTExfTElCUkFSWV9ESVJTfQorICkKKyAKKyAj IFNldCBjb21wb25lbnQgcGFyYW1ldGVycworQEAgLTIwOCw3ICsyNjEsOCBAQCBjb25maWd1cmVf ZmlsZSgKKyAKKyBhZGRfY3VzdG9tX3RhcmdldCh1bmluc3RhbGwKKyAgICAgJHtDTUFLRV9DT01N QU5EfSAtUCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vY21ha2VfdW5pbnN0YWxsLmNtYWtl CistKQorKyAgICApCisrCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBFbmFibGUgcHl0aG9uIGNv bXBvbmVudAorQEAgLTIyNiwxMCArMjgwLDExIEBAIGVuZGlmKFNXSUdfRk9VTkQpCisgCisgaW5j bHVkZShHckNvbXBvbmVudCkKKyBHUl9SRUdJU1RFUl9DT01QT05FTlQoIlB5dGhvbiBzdXBwb3J0 IiBFTkFCTEVfUFlUSE9OCistICAgIFBZVEhPTkxJQlNfRk9VTkQKKy0gICAgU1dJR19GT1VORAor LSAgICBTV0lHX1ZFUlNJT05fQ0hFQ0sKKy0pCisrICAgICAgICBQWVRIT05MSUJTX0ZPVU5ECisr ICAgICAgICBTV0lHX0ZPVU5ECisrICAgICAgICBTV0lHX1ZFUlNJT05fQ0hFQ0sKKysgICAgICAg ICkKKysKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIEFkZCBzdWJkaXJlY3RvcmllcworQEAgLTI0 NCw2ICsyOTksMTQgQEAgaWYoRU5BQkxFX1BZVEhPTikKKyBlbmRpZihFTkFCTEVfUFlUSE9OKQor IGFkZF9zdWJkaXJlY3RvcnkoZG9jcykKKyAKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysjIEluc3RhbGwg Y21ha2Ugc2VhcmNoIGhlbHBlciBmb3IgdGhpcyBsaWJyYXJ5CisrIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisr CisraW5zdGFsbChGSUxFUyBjbWFrZS9Nb2R1bGVzL29zbW9zZHJDb25maWcuY21ha2UKKysgICAg REVTVElOQVRJT04gJHtDTUFLRV9NT0RVTEVTX0RJUn0vb3Ntb3NkcgorKykKKysKKyAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKyAjIENyZWF0ZSBQa2cgQ29uZmlnIEZpbGUKKyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0BA IC0yNzIsMTMgKzMzNSwxMyBAQCBzZXQoQ1BBQ0tfUEFDS0FHRV9ERVNDUklQVElPTl9TVU1NQVJZ ICJHTlUgUmFkaW8gYmxvY2sgZm9yIHZhcmlvdXMgcmFkaW8gaGFyZHdhcgorIHNldChDUEFDS19Q QUNLQUdFX1ZFUlNJT04gJHtWRVJTSU9OfSkKKyAKKyBDT05GSUdVUkVfRklMRSgKKy0gICAgJHtD TUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2dudXJhZGlvLW9zbW9zZHIucGMuaW4KKy0gICAgJHtD TUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dudXJhZGlvLW9zbW9zZHIucGMKKy1AT05MWSkKKysg ICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9nbnVyYWRpby1vc21vc2RyLnBjLmlu CisrICAgICAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ251cmFkaW8tb3Ntb3Nkci5w YworKyAgICAgICAgQE9OTFkpCisgCisgSU5TVEFMTCgKKy0gICAgRklMRVMgJHtDTUFLRV9DVVJS RU5UX0JJTkFSWV9ESVJ9L2dudXJhZGlvLW9zbW9zZHIucGMKKy0gICAgREVTVElOQVRJT04gJHtH Ul9MSUJSQVJZX0RJUn0vcGtnY29uZmlnCisrICAgICAgICBGSUxFUyAke0NNQUtFX0NVUlJFTlRf QklOQVJZX0RJUn0vZ251cmFkaW8tb3Ntb3Nkci5wYworKyAgICAgICAgREVTVElOQVRJT04gJHtH Ul9MSUJSQVJZX0RJUn0vcGtnY29uZmlnCisgKQorIAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworQEAgLTI4 NiwxMSArMzQ5LDExIEBAIElOU1RBTEwoCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgR1JfUFJJTlRfQ09N UE9ORU5UX1NVTU1BUlkoKQorIGlmKEVOQUJMRV9OT05GUkVFKQorLU1FU1NBR0UoU1RBVFVTCist ICAiTk9ORlJFRSBjb21wb25lbnRzIGhhdmUgYmVlbiBlbmFibGVkLiBUaGUgcmVzdWx0aW5nCisr ICAgIE1FU1NBR0UoU1RBVFVTCisrICAgICAgICAgICAgIk5PTkZSRUUgY29tcG9uZW50cyBoYXZl IGJlZW4gZW5hYmxlZC4gVGhlIHJlc3VsdGluZworICAgIGJpbmFyaWVzIGNhbm5vdCBiZSBkaXN0 cmlidXRlZCB1bmRlciBHUEwgdGVybXMuCisgICAiCistKQorKyAgICAgICAgICAgICkKKyBlbmRp ZihFTkFCTEVfTk9ORlJFRSkKKyAKKyBNRVNTQUdFKFNUQVRVUyAiQnVpbGRpbmcgZm9yIHZlcnNp b246ICR7VkVSU0lPTn0gLyAke0xJQlZFUn0iKQorZGlmZiAtLWdpdCBhL2FwcHMvQ01ha2VMaXN0 cy50eHQgYi9hcHBzL0NNYWtlTGlzdHMudHh0CitpbmRleCA5YzMwYTRiLi5lZTk2NmJiIDEwMDY0 NAorLS0tIGFwcHMvQ01ha2VMaXN0cy50eHQKKysrKyBhcHBzL0NNYWtlTGlzdHMudHh0CitAQCAt MSw2ICsxLDcgQEAKKyAjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorICMKKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworKyMgVGhpcyBmaWxl IHdhcyBnZW5lcmF0ZWQgYnkgZ3JfbW9kdG9vbCwgYSB0b29sIGZyb20gdGhlIEdOVSBSYWRpbyBm cmFtZXdvcmsKKysjIFRoaXMgZmlsZSBpcyBhIHBhcnQgb2YgZ3Itb3Ntb3NkcgorICMKKyAjIEdO VSBSYWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisgIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorQEAgLTIwLDcgKzIxLDcgQEAKKyBpbmNsdWRlKEdyUHl0 aG9uKQorIAorIEdSX1BZVEhPTl9JTlNUQUxMKAorLSAgICBGSUxFUworKyAgICBQUk9HUkFNUwor ICAgICBvc21vY29tX3NpZ2dlbl9iYXNlLnB5CisgICAgIERFU1RJTkFUSU9OICR7R1JfUFlUSE9O X0RJUn0vb3Ntb3NkcgorICkKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0NNYWtlUGFyc2VB cmd1bWVudHNDb3B5LmNtYWtlIGIvY21ha2UvTW9kdWxlcy9DTWFrZVBhcnNlQXJndW1lbnRzQ29w eS5jbWFrZQoraW5kZXggN2NlNGM0OS4uNjYwMTZjYiAxMDA2NDQKKy0tLSBjbWFrZS9Nb2R1bGVz L0NNYWtlUGFyc2VBcmd1bWVudHNDb3B5LmNtYWtlCisrKysgY21ha2UvTW9kdWxlcy9DTWFrZVBh cnNlQXJndW1lbnRzQ29weS5jbWFrZQorQEAgLTU4LDcgKzU4LDcgQEAKKyAjIHRoZSBuZXcgb3B0 aW9uLgorICMgRS5nLiBteV9pbnN0YWxsKFRBUkdFVFMgZm9vIERFU1RJTkFUSU9OIE9QVElPTkFM KSB3b3VsZCByZXN1bHQgaW4KKyAjIE1ZX0lOU1RBTExfREVTVElOQVRJT04gc2V0IHRvICJPUFRJ T05BTCIsIGJ1dCBNWV9JTlNUQUxMX0RFU1RJTkFUSU9OIHdvdWxkCistIyBiZSBlbXB0eSBhbmQg TVlfSU5TVEFMTF9PUFRJT05BTCB3b3VsZCBiZSBzZXQgdG8gVFJVRSB0aGVyZWZvci4KKysjIGJl IGVtcHR5IGFuZCBNWV9JTlNUQUxMX09QVElPTkFMIHdvdWxkIGJlIHNldCB0byBUUlVFIHRoZXJl Zm9yZS4KKyAKKyAjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAjIENvcHlyaWdodCAyMDEwIEFsZXhh bmRlciBOZXVuZG9yZiA8bmV1bmRvcmZAa2RlLm9yZz4KK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1 bGVzL0ZpbmRHbnVyYWRpb0ZDRC5jbWFrZSBiL2NtYWtlL01vZHVsZXMvRmluZEdudXJhZGlvRkNE LmNtYWtlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGU3ZDc2NzAuLjAwMDAwMDAK Ky0tLSBjbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb0ZDRC5jbWFrZQorKysrIC9kZXYvbnVsbAor QEAgLTEsMzQgKzAsMCBAQAorLUlOQ0xVREUoRmluZFBrZ0NvbmZpZykKKy1QS0dfQ0hFQ0tfTU9E VUxFUyhQQ19HTlVSQURJT19GQ0QgZ251cmFkaW8tZmNkKQorLQorLUZJTkRfUEFUSCgKKy0gICAg R05VUkFESU9fRkNEX0lOQ0xVREVfRElSUworLSAgICBOQU1FUyBnbnVyYWRpby9mY2QvYXBpLmgK Ky0gICAgSElOVFMgJEVOVntHTlVSQURJT19GQ0RfRElSfS9pbmNsdWRlCistICAgICAgICAke1BD X0dOVVJBRElPX0ZDRF9JTkNMVURFRElSfQorLSAgICBQQVRIUyAvdXNyL2xvY2FsL2luY2x1ZGUK Ky0gICAgICAgICAgL3Vzci9pbmNsdWRlCistKQorLQorLUZJTkRfTElCUkFSWSgKKy0gICAgR05V UkFESU9fRkNEX0xJQlJBUklFUworLSAgICBOQU1FUyBnbnVyYWRpby1mY2QKKy0gICAgSElOVFMg JEVOVntHTlVSQURJT19GQ0RfRElSfS9saWIKKy0gICAgICAgICR7UENfR05VUkFESU9fRkNEX0xJ QkRJUn0KKy0gICAgUEFUSFMgL3Vzci9sb2NhbC9saWIKKy0gICAgICAgICAgL3Vzci9sb2NhbC9s aWI2NAorLSAgICAgICAgICAvdXNyL2xpYgorLSAgICAgICAgICAvdXNyL2xpYjY0CistKQorLQor LWlmKEdOVVJBRElPX0ZDRF9JTkNMVURFX0RJUlMgQU5EIEdOVVJBRElPX0ZDRF9MSUJSQVJJRVMp CistICBzZXQoR05VUkFESU9fRkNEX0ZPVU5EIFRSVUUgQ0FDSEUgSU5URVJOQUwgImdudXJhZGlv LWZjZCBmb3VuZCIpCistICBtZXNzYWdlKFNUQVRVUyAiRm91bmQgZ251cmFkaW8tZmNkOiAke0dO VVJBRElPX0ZDRF9JTkNMVURFX0RJUlN9LCAke0dOVVJBRElPX0ZDRF9MSUJSQVJJRVN9IikKKy1l bHNlKEdOVVJBRElPX0ZDRF9JTkNMVURFX0RJUlMgQU5EIEdOVVJBRElPX0ZDRF9MSUJSQVJJRVMp CistICBzZXQoR05VUkFESU9fRkNEX0ZPVU5EIEZBTFNFIENBQ0hFIElOVEVSTkFMICJnbnVyYWRp by1mY2QgZm91bmQiKQorLSAgbWVzc2FnZShTVEFUVVMgImdudXJhZGlvLWZjZCBub3QgZm91bmQu IikKKy1lbmRpZihHTlVSQURJT19GQ0RfSU5DTFVERV9ESVJTIEFORCBHTlVSQURJT19GQ0RfTElC UkFSSUVTKQorLQorLUlOQ0xVREUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCistRklO RF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKEdOVVJBRElPX0ZDRCBERUZBVUxUX01TRyBH TlVSQURJT19GQ0RfTElCUkFSSUVTIEdOVVJBRElPX0ZDRF9JTkNMVURFX0RJUlMpCistTUFSS19B U19BRFZBTkNFRChHTlVSQURJT19GQ0RfTElCUkFSSUVTIEdOVVJBRElPX0ZDRF9JTkNMVURFX0RJ UlMpCitkaWZmIC0tZ2l0IGEvY21ha2UvTW9kdWxlcy9GaW5kR251cmFkaW9GQ0RQUC5jbWFrZSBi L2NtYWtlL01vZHVsZXMvRmluZEdudXJhZGlvRkNEUFAuY21ha2UKK2RlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggYzZmMDNmMS4uMDAwMDAwMAorLS0tIGNtYWtlL01vZHVsZXMvRmluZEdu dXJhZGlvRkNEUFAuY21ha2UKKysrKyAvZGV2L251bGwKK0BAIC0xLDM0ICswLDAgQEAKKy1JTkNM VURFKEZpbmRQa2dDb25maWcpCistUEtHX0NIRUNLX01PRFVMRVMoUENfR05VUkFESU9fRkNEUFAg Z251cmFkaW8tZmNkcHJvcGx1cykKKy0KKy1GSU5EX1BBVEgoCistICAgIEdOVVJBRElPX0ZDRFBQ X0lOQ0xVREVfRElSUworLSAgICBOQU1FUyBmY2Rwcm9wbHVzL2FwaS5oCistICAgIEhJTlRTICRF TlZ7R05VUkFESU9fRkNEUFBfRElSfS9pbmNsdWRlCistICAgICAgICAke1BDX0dOVVJBRElPX0ZD RFBQX0lOQ0xVREVESVJ9CistICAgIFBBVEhTIC91c3IvbG9jYWwvaW5jbHVkZQorLSAgICAgICAg ICAvdXNyL2luY2x1ZGUKKy0pCistCistRklORF9MSUJSQVJZKAorLSAgICBHTlVSQURJT19GQ0RQ UF9MSUJSQVJJRVMKKy0gICAgTkFNRVMgZ251cmFkaW8tZmNkcHJvcGx1cworLSAgICBISU5UUyAk RU5We0dOVVJBRElPX0ZDRFBQX0RJUn0vbGliCistICAgICAgICAke1BDX0dOVVJBRElPX0ZDRFBQ X0xJQkRJUn0KKy0gICAgUEFUSFMgL3Vzci9sb2NhbC9saWIKKy0gICAgICAgICAgL3Vzci9sb2Nh bC9saWI2NAorLSAgICAgICAgICAvdXNyL2xpYgorLSAgICAgICAgICAvdXNyL2xpYjY0CistKQor LQorLWlmKEdOVVJBRElPX0ZDRFBQX0lOQ0xVREVfRElSUyBBTkQgR05VUkFESU9fRkNEUFBfTElC UkFSSUVTKQorLSAgc2V0KEdOVVJBRElPX0ZDRFBQX0ZPVU5EIFRSVUUgQ0FDSEUgSU5URVJOQUwg ImdudXJhZGlvLWZjZHByb3BsdXMgZm91bmQiKQorLSAgbWVzc2FnZShTVEFUVVMgIkZvdW5kIGdu dXJhZGlvLWZjZHByb3BsdXM6ICR7R05VUkFESU9fRkNEUFBfSU5DTFVERV9ESVJTfSwgJHtHTlVS QURJT19GQ0RQUF9MSUJSQVJJRVN9IikKKy1lbHNlKEdOVVJBRElPX0ZDRFBQX0lOQ0xVREVfRElS UyBBTkQgR05VUkFESU9fRkNEUFBfTElCUkFSSUVTKQorLSAgc2V0KEdOVVJBRElPX0ZDRFBQX0ZP VU5EIEZBTFNFIENBQ0hFIElOVEVSTkFMICJnbnVyYWRpby1mY2Rwcm9wbHVzIGZvdW5kIikKKy0g IG1lc3NhZ2UoU1RBVFVTICJnbnVyYWRpby1mY2Rwcm9wbHVzIG5vdCBmb3VuZC4iKQorLWVuZGlm KEdOVVJBRElPX0ZDRFBQX0lOQ0xVREVfRElSUyBBTkQgR05VUkFESU9fRkNEUFBfTElCUkFSSUVT KQorLQorLUlOQ0xVREUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCistRklORF9QQUNL QUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKEdOVVJBRElPX0ZDRFBQIERFRkFVTFRfTVNHIEdOVVJB RElPX0ZDRFBQX0xJQlJBUklFUyBHTlVSQURJT19GQ0RQUF9JTkNMVURFX0RJUlMpCistTUFSS19B U19BRFZBTkNFRChHTlVSQURJT19GQ0RQUF9MSUJSQVJJRVMgR05VUkFESU9fRkNEUFBfSU5DTFVE RV9ESVJTKQorZGlmZiAtLWdpdCBhL2NtYWtlL01vZHVsZXMvRmluZEdudXJhZGlvSVFCYWxhbmNl LmNtYWtlIGIvY21ha2UvTW9kdWxlcy9GaW5kR251cmFkaW9JUUJhbGFuY2UuY21ha2UKK2RlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYzM4MWQxYy4uMDAwMDAwMAorLS0tIGNtYWtlL01v ZHVsZXMvRmluZEdudXJhZGlvSVFCYWxhbmNlLmNtYWtlCisrKysgL2Rldi9udWxsCitAQCAtMSwy OSArMCwwIEBACistSU5DTFVERShGaW5kUGtnQ29uZmlnKQorLVBLR19DSEVDS19NT0RVTEVTKFBD X0dOVVJBRElPX0lRQkFMQU5DRSBnbnVyYWRpby1pcWJhbGFuY2UpCistCistRklORF9QQVRIKAor LSAgICBHTlVSQURJT19JUUJBTEFOQ0VfSU5DTFVERV9ESVJTCistICAgIE5BTUVTIGdudXJhZGlv L2lxYmFsYW5jZS9hcGkuaAorLSAgICBISU5UUyAkRU5We0dOVVJBRElPX0lRQkFMQU5DRV9ESVJ9 L2luY2x1ZGUKKy0gICAgICAgICR7UENfR05VUkFESU9fSVFCQUxBTkNFX0lOQ0xVREVESVJ9Cist ICAgICAgICAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9pbmNsdWRlCistICAgIFBBVEhTIC91c3Iv bG9jYWwvaW5jbHVkZQorLSAgICAgICAgICAvdXNyL2luY2x1ZGUKKy0pCistCistRklORF9MSUJS QVJZKAorLSAgICBHTlVSQURJT19JUUJBTEFOQ0VfTElCUkFSSUVTCistICAgIE5BTUVTIGdudXJh ZGlvLWlxYmFsYW5jZQorLSAgICBISU5UUyAkRU5We0dOVVJBRElPX0lRQkFMQU5DRV9ESVJ9L2xp YgorLSAgICAgICAgJHtQQ19HTlVSQURJT19JUUJBTEFOQ0VfTElCRElSfQorLSAgICAgICAgJHtD TUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliNjQKKy0gICAgICAgICR7Q01BS0VfSU5TVEFMTF9QUkVG SVh9L2xpYgorLSAgICBQQVRIUyAvdXNyL2xvY2FsL2xpYgorLSAgICAgICAgICAvdXNyL2xvY2Fs L2xpYjY0CistICAgICAgICAgIC91c3IvbGliCistICAgICAgICAgIC91c3IvbGliNjQKKy0pCist CistSU5DTFVERShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKKy1GSU5EX1BBQ0tBR0Vf SEFORExFX1NUQU5EQVJEX0FSR1MoR05VUkFESU9fSVFCQUxBTkNFIERFRkFVTFRfTVNHIEdOVVJB RElPX0lRQkFMQU5DRV9MSUJSQVJJRVMgR05VUkFESU9fSVFCQUxBTkNFX0lOQ0xVREVfRElSUykK Ky1NQVJLX0FTX0FEVkFOQ0VEKEdOVVJBRElPX0lRQkFMQU5DRV9MSUJSQVJJRVMgR05VUkFESU9f SVFCQUxBTkNFX0lOQ0xVREVfRElSUykKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0ZpbmRH bnVyYWRpb1VIRC5jbWFrZSBiL2NtYWtlL01vZHVsZXMvRmluZEdudXJhZGlvVUhELmNtYWtlCitk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGY5OWRhZjAuLjAwMDAwMDAKKy0tLSBjbWFr ZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb1VIRC5jbWFrZQorKysrIC9kZXYvbnVsbAorQEAgLTEsMzQg KzAsMCBAQAorLUlOQ0xVREUoRmluZFBrZ0NvbmZpZykKKy1QS0dfQ0hFQ0tfTU9EVUxFUyhQQ19H TlVSQURJT19VSEQgZ251cmFkaW8tdWhkKQorLQorLUZJTkRfUEFUSCgKKy0gICAgR05VUkFESU9f VUhEX0lOQ0xVREVfRElSUworLSAgICBOQU1FUyBnbnVyYWRpby91aGQvYXBpLmgKKy0gICAgSElO VFMgJEVOVntHTlVSQURJT19VSERfRElSfS9pbmNsdWRlCistICAgICAgICAke1BDX0dOVVJBRElP X1VIRF9JTkNMVURFRElSfQorLSAgICBQQVRIUyAvdXNyL2xvY2FsL2luY2x1ZGUKKy0gICAgICAg ICAgL3Vzci9pbmNsdWRlCistKQorLQorLUZJTkRfTElCUkFSWSgKKy0gICAgR05VUkFESU9fVUhE X0xJQlJBUklFUworLSAgICBOQU1FUyBnbnVyYWRpby11aGQKKy0gICAgSElOVFMgJEVOVntHTlVS QURJT19VSERfRElSfS9saWIKKy0gICAgICAgICR7UENfR05VUkFESU9fVUhEX0xJQkRJUn0KKy0g ICAgUEFUSFMgL3Vzci9sb2NhbC9saWIKKy0gICAgICAgICAgL3Vzci9sb2NhbC9saWI2NAorLSAg ICAgICAgICAvdXNyL2xpYgorLSAgICAgICAgICAvdXNyL2xpYjY0CistKQorLQorLWlmKEdOVVJB RElPX1VIRF9JTkNMVURFX0RJUlMgQU5EIEdOVVJBRElPX1VIRF9MSUJSQVJJRVMpCistICBzZXQo R05VUkFESU9fVUhEX0ZPVU5EIFRSVUUgQ0FDSEUgSU5URVJOQUwgImdudXJhZGlvLXVoZCBmb3Vu ZCIpCistICBtZXNzYWdlKFNUQVRVUyAiRm91bmQgZ251cmFkaW8tdWhkOiAke0dOVVJBRElPX1VI RF9JTkNMVURFX0RJUlN9LCAke0dOVVJBRElPX1VIRF9MSUJSQVJJRVN9IikKKy1lbHNlKEdOVVJB RElPX1VIRF9JTkNMVURFX0RJUlMgQU5EIEdOVVJBRElPX1VIRF9MSUJSQVJJRVMpCistICBzZXQo R05VUkFESU9fVUhEX0ZPVU5EIEZBTFNFIENBQ0hFIElOVEVSTkFMICJnbnVyYWRpby11aGQgZm91 bmQiKQorLSAgbWVzc2FnZShTVEFUVVMgImdudXJhZGlvLXVoZCBub3QgZm91bmQuIikKKy1lbmRp ZihHTlVSQURJT19VSERfSU5DTFVERV9ESVJTIEFORCBHTlVSQURJT19VSERfTElCUkFSSUVTKQor LQorLUlOQ0xVREUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCistRklORF9QQUNLQUdF X0hBTkRMRV9TVEFOREFSRF9BUkdTKEdOVVJBRElPX1VIRCBERUZBVUxUX01TRyBHTlVSQURJT19V SERfTElCUkFSSUVTIEdOVVJBRElPX1VIRF9JTkNMVURFX0RJUlMpCistTUFSS19BU19BRFZBTkNF RChHTlVSQURJT19VSERfTElCUkFSSUVTIEdOVVJBRElPX1VIRF9JTkNMVURFX0RJUlMpCitkaWZm IC0tZ2l0IGEvY21ha2UvTW9kdWxlcy9GaW5kVUhELmNtYWtlIGIvY21ha2UvTW9kdWxlcy9GaW5k VUhELmNtYWtlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGI0ZDEyYjYuLjAwMDAw MDAKKy0tLSBjbWFrZS9Nb2R1bGVzL0ZpbmRVSEQuY21ha2UKKysrKyAvZGV2L251bGwKK0BAIC0x LDI4ICswLDAgQEAKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIEZpbmQgdGhlIGxpYnJhcnkgZm9yIHRo ZSBVU1JQIEhhcmR3YXJlIERyaXZlcgorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLQorLUlOQ0xVREUoRmlu ZFBrZ0NvbmZpZykKKy1QS0dfQ0hFQ0tfTU9EVUxFUyhQQ19VSEQgdWhkKQorLQorLUZJTkRfUEFU SCgKKy0gICAgVUhEX0lOQ0xVREVfRElSUworLSAgICBOQU1FUyB1aGQvY29uZmlnLmhwcAorLSAg ICBISU5UUyAkRU5We1VIRF9ESVJ9L2luY2x1ZGUKKy0gICAgICAgICR7UENfVUhEX0lOQ0xVREVE SVJ9CistICAgIFBBVEhTIC91c3IvbG9jYWwvaW5jbHVkZQorLSAgICAgICAgICAvdXNyL2luY2x1 ZGUKKy0pCistCistRklORF9MSUJSQVJZKAorLSAgICBVSERfTElCUkFSSUVTCistICAgIE5BTUVT IHVoZAorLSAgICBISU5UUyAkRU5We1VIRF9ESVJ9L2xpYgorLSAgICAgICAgJHtQQ19VSERfTElC RElSfQorLSAgICBQQVRIUyAvdXNyL2xvY2FsL2xpYgorLSAgICAgICAgICAvdXNyL2xpYgorLSkK Ky0KKy1JTkNMVURFKEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdzKQorLUZJTkRfUEFDS0FH RV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhVSEQgREVGQVVMVF9NU0cgVUhEX0xJQlJBUklFUyBVSERf SU5DTFVERV9ESVJTKQorLU1BUktfQVNfQURWQU5DRUQoVUhEX0xJQlJBUklFUyBVSERfSU5DTFVE RV9ESVJTKQorZGlmZiAtLWdpdCBhL2NtYWtlL01vZHVsZXMvR3JDb21wb25lbnQuY21ha2UgYi9j bWFrZS9Nb2R1bGVzL0dyQ29tcG9uZW50LmNtYWtlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDIyYjBlYTQuLjAwMDAwMDAKKy0tLSBjbWFrZS9Nb2R1bGVzL0dyQ29tcG9uZW50LmNt YWtlCisrKysgL2Rldi9udWxsCitAQCAtMSwxMTUgKzAsMCBAQAorLSMgQ29weXJpZ2h0IDIwMTAt MjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0jCistIyBUaGlzIGZpbGUgaXMg cGFydCBvZiBHTlUgUmFkaW8KKy0jCistIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSMgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy0jIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3Vy IG9wdGlvbikKKy0jIGFueSBsYXRlciB2ZXJzaW9uLgorLSMKKy0jIEdOVSBSYWRpbyBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLSMgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0j IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKy0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCist IworLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKKy0jIGFsb25nIHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUgQ09Q WUlORy4gIElmIG5vdCwgd3JpdGUgdG8KKy0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwKKy0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB LgorLQorLWlmKERFRklORUQgX19JTkNMVURFRF9HUl9DT01QT05FTlRfQ01BS0UpCistICAgIHJl dHVybigpCistZW5kaWYoKQorLXNldChfX0lOQ0xVREVEX0dSX0NPTVBPTkVOVF9DTUFLRSBUUlVF KQorLQorLXNldChfZ3JfZW5hYmxlZF9jb21wb25lbnRzICIiIENBQ0hFIElOVEVSTkFMICIiIEZP UkNFKQorLXNldChfZ3JfZGlzYWJsZWRfY29tcG9uZW50cyAiIiBDQUNIRSBJTlRFUk5BTCAiIiBG T1JDRSkKKy0KKy1pZihOT1QgREVGSU5FRCBFTkFCTEVfREVGQVVMVCkKKy0gICAgc2V0KEVOQUJM RV9ERUZBVUxUIE9OKQorLSAgICBtZXNzYWdlKFNUQVRVUyAiIikKKy0gICAgbWVzc2FnZShTVEFU VVMgIlRoZSBidWlsZCBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGVuYWJsZSBhbGwgY29tcG9u ZW50cy4iKQorLSAgICBtZXNzYWdlKFNUQVRVUyAiVXNlIC1ERU5BQkxFX0RFRkFVTFQ9T0ZGIHRv IGRpc2FibGUgY29tcG9uZW50cyBieSBkZWZhdWx0LiIpCistZW5kaWYoKQorLQorLSMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworLSMgUmVnaXN0ZXIgYSBjb21wb25lbnQgaW50byB0aGUgc3lzdGVtCistIyAtIG5h bWU6IGNhbm9uaWNhbCBjb21wb25lbnQgbmFtZQorLSMgLSB2YXI6IHZhcmlhYmxlIGZvciBlbmFi bGVkIHN0YXR1cworLSMgLSBhcmduOiBsaXN0IG9mIGRlcGVuZGVuY2llcworLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworLWZ1bmN0aW9uKEdSX1JFR0lTVEVSX0NPTVBPTkVOVCBuYW1lIHZhcikKKy0gICAgaW5j bHVkZShDTWFrZURlcGVuZGVudE9wdGlvbikKKy0gICAgbWVzc2FnZShTVEFUVVMgIiIpCistICAg IG1lc3NhZ2UoU1RBVFVTICJDb25maWd1cmluZyAke25hbWV9IHN1cHBvcnQuLi4iKQorLSAgICBm b3JlYWNoKGRlcCAke0FSR059KQorLSAgICAgICAgbWVzc2FnZShTVEFUVVMgIiAgRGVwZW5kZW5j eSAke2RlcH0gPSAkeyR7ZGVwfX0iKQorLSAgICBlbmRmb3JlYWNoKGRlcCkKKy0KKy0gICAgI2lm IHRoZSB1c2VyIHNldCB0aGUgdmFyIHRvIGZvcmNlLCB3ZSBub3RlIHRoaXMKKy0gICAgaWYoIiR7 JHt2YXJ9fSIgU1RSRVFVQUwgIkZPUkNFIikKKy0gICAgICAgIHNldCgke3Zhcn0gT04pCistICAg ICAgICBzZXQodmFyX2ZvcmNlIFRSVUUpCistICAgIGVsc2UoKQorLSAgICAgICAgc2V0KHZhcl9m b3JjZSBGQUxTRSkKKy0gICAgZW5kaWYoKQorLQorLSAgICAjcmV3cml0ZSB0aGUgZGVwZW5kZW5j eSBsaXN0IHNvIHRoYXQgZGVwcyB0aGF0IGFyZSBhbHNvIGNvbXBvbmVudHMgdXNlIHRoZSBjYWNo ZWQgdmVyc2lvbgorLSAgICB1bnNldChjb21wX2RlcHMpCistICAgIGZvcmVhY2goZGVwICR7QVJH Tn0pCistICAgICAgICBsaXN0KEZJTkQgX2dyX2VuYWJsZWRfY29tcG9uZW50cyAke2RlcH0gZGVw X2VuYl9pbmRleCkKKy0gICAgICAgIGxpc3QoRklORCBfZ3JfZGlzYWJsZWRfY29tcG9uZW50cyAk e2RlcH0gZGVwX2Rpc19pbmRleCkKKy0gICAgICAgIGlmICgke2RlcF9lbmJfaW5kZXh9IEVRVUFM IC0xIEFORCAke2RlcF9kaXNfaW5kZXh9IEVRVUFMIC0xKQorLSAgICAgICAgICAgIGxpc3QoQVBQ RU5EIGNvbXBfZGVwcyAke2RlcH0pCistICAgICAgICBlbHNlKCkKKy0gICAgICAgICAgICBsaXN0 KEFQUEVORCBjb21wX2RlcHMgJHtkZXB9X2NhY2hlZCkgI2lzIGEgY29tcG9uZW50LCB1c2UgY2Fj aGVkIHZlcnNpb24KKy0gICAgICAgIGVuZGlmKCkKKy0gICAgZW5kZm9yZWFjaChkZXApCistCist ICAgICNzZXR1cCB0aGUgZGVwZW5kZW50IG9wdGlvbiBmb3IgdGhpcyBjb21wb25lbnQKKy0gICAg Q01BS0VfREVQRU5ERU5UX09QVElPTigke3Zhcn0gImVuYWJsZSAke25hbWV9IHN1cHBvcnQiICR7 RU5BQkxFX0RFRkFVTFR9ICIke2NvbXBfZGVwc30iIE9GRikKKy0gICAgc2V0KCR7dmFyfSAiJHsk e3Zhcn19IiBQQVJFTlRfU0NPUEUpCistICAgIHNldCgke3Zhcn1fY2FjaGVkICIkeyR7dmFyfX0i IENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQorLQorLSAgICAjZm9yY2Ugd2FzIHNwZWNpZmllZCwg YnV0IHRoZSBkZXBlbmRlbmNpZXMgd2VyZSBub3QgbWV0CistICAgIGlmKE5PVCAke3Zhcn0gQU5E IHZhcl9mb3JjZSkKKy0gICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgInVzZXIgZm9yY2UtZW5h YmxlZCAke25hbWV9IGJ1dCBjb25maWd1cmF0aW9uIGNoZWNrZWQgZmFpbGVkIikKKy0gICAgZW5k aWYoKQorLQorLSAgICAjYXBwZW5kIHRoZSBjb21wb25lbnQgaW50byBvbmUgb2YgdGhlIGxpc3Rz CistICAgIGlmKCR7dmFyfSkKKy0gICAgICAgIG1lc3NhZ2UoU1RBVFVTICIgIEVuYWJsaW5nICR7 bmFtZX0gc3VwcG9ydC4iKQorLSAgICAgICAgbGlzdChBUFBFTkQgX2dyX2VuYWJsZWRfY29tcG9u ZW50cyAke25hbWV9KQorLSAgICBlbHNlKCR7dmFyfSkKKy0gICAgICAgIG1lc3NhZ2UoU1RBVFVT ICIgIERpc2FibGluZyAke25hbWV9IHN1cHBvcnQuIikKKy0gICAgICAgIGxpc3QoQVBQRU5EIF9n cl9kaXNhYmxlZF9jb21wb25lbnRzICR7bmFtZX0pCistICAgIGVuZGlmKCR7dmFyfSkKKy0gICAg bWVzc2FnZShTVEFUVVMgIiAgT3ZlcnJpZGUgd2l0aCAtRCR7dmFyfT1PTi9PRkYiKQorLQorLSAg ICAjbWFrZSBjb21wb25lbnRzIGxpc3RzIGludG8gZ2xvYmFsIHZhcmlhYmxlcworLSAgICBzZXQo X2dyX2VuYWJsZWRfY29tcG9uZW50cyAke19ncl9lbmFibGVkX2NvbXBvbmVudHN9IENBQ0hFIElO VEVSTkFMICIiIEZPUkNFKQorLSAgICBzZXQoX2dyX2Rpc2FibGVkX2NvbXBvbmVudHMgJHtfZ3Jf ZGlzYWJsZWRfY29tcG9uZW50c30gQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCistZW5kZnVuY3Rp b24oR1JfUkVHSVNURVJfQ09NUE9ORU5UKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgUHJpbnQg dGhlIHJlZ2lzdGVyZWQgY29tcG9uZW50IHN1bW1hcnkKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1mdW5j dGlvbihHUl9QUklOVF9DT01QT05FTlRfU1VNTUFSWSkKKy0gICAgbWVzc2FnZShTVEFUVVMgIiIp CistICAgIG1lc3NhZ2UoU1RBVFVTICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMiKQorLSAgICBtZXNzYWdlKFNUQVRVUyAiIyBnci1vc21vc2Ry IGVuYWJsZWQgY29tcG9uZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAiKQorLSAgICBtZXNz YWdlKFNUQVRVUyAiIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIikKKy0gICAgZm9yZWFjaChjb21wICR7X2dyX2VuYWJsZWRfY29tcG9uZW50c30p CistICAgICAgICBtZXNzYWdlKFNUQVRVUyAiICAqICR7Y29tcH0iKQorLSAgICBlbmRmb3JlYWNo KGNvbXApCistCistICAgIG1lc3NhZ2UoU1RBVFVTICIiKQorLSAgICBtZXNzYWdlKFNUQVRVUyAi IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIikK Ky0gICAgbWVzc2FnZShTVEFUVVMgIiMgZ3Itb3Ntb3NkciBkaXNhYmxlZCBjb21wb25lbnRzICAg ICAgICAgICAgICAgICAgICAgICAgIikKKy0gICAgbWVzc2FnZShTVEFUVVMgIiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIpCistICAgIGZvcmVh Y2goY29tcCAke19ncl9kaXNhYmxlZF9jb21wb25lbnRzfSkKKy0gICAgICAgIG1lc3NhZ2UoU1RB VFVTICIgICogJHtjb21wfSIpCistICAgIGVuZGZvcmVhY2goY29tcCkKKy0KKy0gICAgbWVzc2Fn ZShTVEFUVVMgIiIpCistZW5kZnVuY3Rpb24oR1JfUFJJTlRfQ09NUE9ORU5UX1NVTU1BUlkpCitk aWZmIC0tZ2l0IGEvY21ha2UvTW9kdWxlcy9Hck1pc2NVdGlscy5jbWFrZSBiL2NtYWtlL01vZHVs ZXMvR3JNaXNjVXRpbHMuY21ha2UKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggNzQ3 ZWIxYS4uMDAwMDAwMAorLS0tIGNtYWtlL01vZHVsZXMvR3JNaXNjVXRpbHMuY21ha2UKKysrKyAv ZGV2L251bGwKK0BAIC0xLDUxOSArMCwwIEBACistIyBDb3B5cmlnaHQgMjAxMC0yMDExLDIwMTQg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCistIworLSMgVGhpcyBmaWxlIGlzIHBhcnQg b2YgR05VIFJhZGlvCistIworLSMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistIyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRp b24pCistIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0jCistIyBHTlUgUmFkaW8gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSMKKy0j IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCistIyBhbG9uZyB3aXRoIEdOVSBSYWRpbzsgc2VlIHRoZSBmaWxlIENPUFlJTkcu ICBJZiBub3QsIHdyaXRlIHRvCistIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu LCA1MSBGcmFua2xpbiBTdHJlZXQsCistIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKy0K Ky1pZihERUZJTkVEIF9fSU5DTFVERURfR1JfTUlTQ19VVElMU19DTUFLRSkKKy0gICAgcmV0dXJu KCkKKy1lbmRpZigpCistc2V0KF9fSU5DTFVERURfR1JfTUlTQ19VVElMU19DTUFLRSBUUlVFKQor LQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworLSMgU2V0IGdsb2JhbCB2YXJpYWJsZSBtYWNyby4KKy0jIFVz ZWQgZm9yIHN1YmRpcmVjdG9yaWVzIHRvIGV4cG9ydCBzZXR0aW5ncy4KKy0jIEV4YW1wbGU6IGlu Y2x1ZGUgYW5kIGxpYnJhcnkgcGF0aHMuCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistZnVuY3Rpb24oR1Jf U0VUX0dMT0JBTCB2YXIpCistICAgIHNldCgke3Zhcn0gJHtBUkdOfSBDQUNIRSBJTlRFUk5BTCAi IiBGT1JDRSkKKy1lbmRmdW5jdGlvbihHUl9TRVRfR0xPQkFMKQorLQorLSMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworLSMgU2V0IHRoZSBwcmUtcHJvY2Vzc29yIGRlZmluaXRpb24gaWYgdGhlIGNvbmRpdGlvbiBp cyB0cnVlLgorLSMgIC0gZGVmIHRoZSBwcmUtcHJvY2Vzc29yIGRlZmluaXRpb24gdG8gc2V0IGFu ZCBjb25kaXRpb24gbmFtZQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWZ1bmN0aW9uKEdSX0FERF9DT05E X0RFRiBkZWYpCistICAgIGlmKCR7ZGVmfSkKKy0gICAgICAgIGFkZF9kZWZpbml0aW9ucygtRCR7 ZGVmfSkKKy0gICAgZW5kaWYoJHtkZWZ9KQorLWVuZGZ1bmN0aW9uKEdSX0FERF9DT05EX0RFRikK Ky0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIENoZWNrIGZvciBhIGhlYWRlciBhbmQgY29uZGl0aW9u YWxseSBzZXQgYSBjb21waWxlIGRlZmluZS4KKy0jICAtIGhkciB0aGUgcmVsYXRpdmUgcGF0aCB0 byB0aGUgaGVhZGVyIGZpbGUKKy0jICAtIGRlZiB0aGUgcHJlLXByb2Nlc3NvciBkZWZpbml0aW9u IHRvIHNldAorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWZ1bmN0aW9uKEdSX0NIRUNLX0hEUl9OX0RFRiBo ZHIgZGVmKQorLSAgICBpbmNsdWRlKENoZWNrSW5jbHVkZUZpbGVDWFgpCistICAgIENIRUNLX0lO Q0xVREVfRklMRV9DWFgoJHtoZHJ9ICR7ZGVmfSkKKy0gICAgR1JfQUREX0NPTkRfREVGKCR7ZGVm fSkKKy1lbmRmdW5jdGlvbihHUl9DSEVDS19IRFJfTl9ERUYpCistCistIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CistIyBJbmNsdWRlIHN1YmRpcmVjdG9yeSBtYWNyby4KKy0jIFNldHMgdGhlIENNYWtlIGRpcmVj dG9yeSB2YXJpYWJsZXMsCistIyBpbmNsdWRlcyB0aGUgc3ViZGlyZWN0b3J5IENNYWtlTGlzdHMu dHh0LAorLSMgcmVzZXRzIHRoZSBDTWFrZSBkaXJlY3RvcnkgdmFyaWFibGVzLgorLSMKKy0jIFRo aXMgbWFjcm8gaW5jbHVkZXMgc3ViZGlyZWN0b3JpZXMgcmF0aGVyIHRoYW4gYWRkaW5nIHRoZW0K Ky0jIHNvIHRoYXQgdGhlIHN1YmRpcmVjdG9yeSBjYW4gYWZmZWN0IHZhcmlhYmxlcyBpbiB0aGUg bGV2ZWwgYWJvdmUuCistIyBUaGlzIHByb3ZpZGVzIGEgd29yay1hcm91bmQgZm9yIHRoZSBsYWNr IG9mIGNvbnZlbmllbmNlIGxpYnJhcmllcy4KKy0jIFRoaXMgd2F5IGEgc3ViZGlyZWN0b3J5IGNh biBhcHBlbmQgdG8gdGhlIGxpc3Qgb2YgbGlicmFyeSBzb3VyY2VzLgorLSMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworLW1hY3JvKEdSX0lOQ0xVREVfU1VCRElSRUNUT1JZIHN1YmRpcikKKy0gICAgI2luc2VydCB0 aGUgY3VycmVudCBkaXJlY3RvcmllcyBvbiB0aGUgZnJvbnQgb2YgdGhlIGxpc3QKKy0gICAgbGlz dChJTlNFUlQgX2NtYWtlX3NvdXJjZV9kaXJzIDAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9 KQorLSAgICBsaXN0KElOU0VSVCBfY21ha2VfYmluYXJ5X2RpcnMgMCAke0NNQUtFX0NVUlJFTlRf QklOQVJZX0RJUn0pCistCistICAgICNzZXQgdGhlIGN1cnJlbnQgZGlyZWN0b3JpZXMgdG8gdGhl IG5hbWVzIG9mIHRoZSBzdWJkaXJzCistICAgIHNldChDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVIg JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7c3ViZGlyfSkKKy0gICAgc2V0KENNQUtFX0NV UlJFTlRfQklOQVJZX0RJUiAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vJHtzdWJkaXJ9KQor LQorLSAgICAjaW5jbHVkZSB0aGUgc3ViZGlyZWN0b3J5IENNYWtlTGlzdHMgdG8gcnVuIGl0Cist ICAgIGZpbGUoTUFLRV9ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9KQorLSAg ICBpbmNsdWRlKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9DTWFrZUxpc3RzLnR4dCkKKy0K Ky0gICAgI3Jlc2V0IHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBkaXJlY3RvcmllcworLSAgICBs aXN0KEdFVCBfY21ha2Vfc291cmNlX2RpcnMgMCBDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVIpCist ICAgIGxpc3QoR0VUIF9jbWFrZV9iaW5hcnlfZGlycyAwIENNQUtFX0NVUlJFTlRfQklOQVJZX0RJ UikKKy0KKy0gICAgI3BvcCB0aGUgc3ViZGlyIG5hbWVzIG9mIHRoZSBmcm9udCBvZiB0aGUgbGlz dAorLSAgICBsaXN0KFJFTU9WRV9BVCBfY21ha2Vfc291cmNlX2RpcnMgMCkKKy0gICAgbGlzdChS RU1PVkVfQVQgX2NtYWtlX2JpbmFyeV9kaXJzIDApCistZW5kbWFjcm8oR1JfSU5DTFVERV9TVUJE SVJFQ1RPUlkpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBDaGVjayBpZiBhIGNvbXBpbGVyIGZs YWcgd29ya3MgYW5kIGNvbmRpdGlvbmFsbHkgc2V0IGEgY29tcGlsZSBkZWZpbmUuCistIyAgLSBm bGFnIHRoZSBjb21waWxlciBmbGFnIHRvIGNoZWNrIGZvcgorLSMgIC0gaGF2ZSB0aGUgdmFyaWFi bGUgdG8gc2V0IHdpdGggcmVzdWx0CistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistbWFjcm8oR1JfQUREX0NY WF9DT01QSUxFUl9GTEFHX0lGX0FWQUlMQUJMRSBmbGFnIGhhdmUpCistICAgIGluY2x1ZGUoQ2hl Y2tDWFhDb21waWxlckZsYWcpCistICAgIENIRUNLX0NYWF9DT01QSUxFUl9GTEFHKCR7ZmxhZ30g JHtoYXZlfSkKKy0gICAgaWYoJHtoYXZlfSkKKy0gICAgICAgIGFkZF9kZWZpbml0aW9ucygke2Zs YWd9KQorLSAgICBlbmRpZigke2hhdmV9KQorLWVuZG1hY3JvKEdSX0FERF9DWFhfQ09NUElMRVJf RkxBR19JRl9BVkFJTEFCTEUpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBHZW5lcmF0ZXMgdGhl IC5sYSBsaWJ0b29sIGZpbGUKKy0jIFRoaXMgYXBwZWFycyB0byBnZW5lcmF0ZSBsaWJ0b29sIGZp bGVzIHRoYXQgY2Fubm90IGJlIHVzZWQgYnkgYXV0byouCistIyBVc2FnZSBHUl9MSUJUT09MKFRB UkdFVCBbdGFyZ2V0XSBERVNUSU5BVElPTiBbZGVzdF0pCistIyBOb3RpY2U6IHRoZXJlIGlzIG5v dCBDT01QT05FTlQgb3B0aW9uLCB0aGVzZSB3aWxsIG5vdCBnZXQgZGlzdHJpYnV0ZWQuCistIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCistZnVuY3Rpb24oR1JfTElCVE9PTCkKKy0gICAgaWYoTk9UIERFRklORUQg R0VORVJBVEVfTElCVE9PTCkKKy0gICAgICAgIHNldChHRU5FUkFURV9MSUJUT09MIE9GRikgI2Rp c2FibGVkIGJ5IGRlZmF1bHQKKy0gICAgZW5kaWYoKQorLQorLSAgICBpZihHRU5FUkFURV9MSUJU T09MKQorLSAgICAgICAgaW5jbHVkZShDTWFrZVBhcnNlQXJndW1lbnRzQ29weSkKKy0gICAgICAg IENNQUtFX1BBUlNFX0FSR1VNRU5UUyhHUl9MSUJUT09MICIiICJUQVJHRVQ7REVTVElOQVRJT04i ICIiICR7QVJHTn0pCistCistICAgICAgICBmaW5kX3Byb2dyYW0oTElCVE9PTCBsaWJ0b29sKQor LSAgICAgICAgaWYoTElCVE9PTCkKKy0gICAgICAgICAgICBpbmNsdWRlKENNYWtlTWFjcm9MaWJ0 b29sRmlsZSkKKy0gICAgICAgICAgICBDUkVBVEVfTElCVE9PTF9GSUxFKCR7R1JfTElCVE9PTF9U QVJHRVR9IC8ke0dSX0xJQlRPT0xfREVTVElOQVRJT059KQorLSAgICAgICAgZW5kaWYoTElCVE9P TCkKKy0gICAgZW5kaWYoR0VORVJBVEVfTElCVE9PTCkKKy0KKy1lbmRmdW5jdGlvbihHUl9MSUJU T09MKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgRG8gc3RhbmRhcmQgdGhpbmdzIHRvIHRoZSBs aWJyYXJ5IHRhcmdldAorLSMgLSBzZXQgdGFyZ2V0IHByb3BlcnRpZXMKKy0jIC0gbWFrZSBpbnN0 YWxsIHJ1bGVzCistIyBBbHNvIGhhbmRsZSBnbnVyYWRpbyBjdXN0b20gbmFtaW5nIGNvbnZlbnRp b25zIHcvIGV4dHJhcyBtb2RlLgorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWZ1bmN0aW9uKEdSX0xJQlJB UllfRk9PIHRhcmdldCkKKy0gICAgI3BhcnNlIHRoZSBhcmd1bWVudHMgZm9yIGNvbXBvbmVudCBu YW1lcworLSAgICBpbmNsdWRlKENNYWtlUGFyc2VBcmd1bWVudHNDb3B5KQorLSAgICBDTUFLRV9Q QVJTRV9BUkdVTUVOVFMoR1JfTElCUkFSWSAiIiAiUlVOVElNRV9DT01QT05FTlQ7REVWRUxfQ09N UE9ORU5UIiAiIiAke0FSR059KQorLQorLSAgICAjc2V0IGFkZGl0aW9uYWwgdGFyZ2V0IHByb3Bl cnRpZXMKKy0gICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7dGFyZ2V0fSBQUk9QRVJUSUVTIFNP VkVSU0lPTiAke0xJQlZFUn0pCistCistICAgICNpbnN0YWxsIHRoZSBnZW5lcmF0ZWQgZmlsZXMg bGlrZSBzby4uLgorLSAgICBpbnN0YWxsKFRBUkdFVFMgJHt0YXJnZXR9CistICAgICAgICBMSUJS QVJZIERFU1RJTkFUSU9OICR7R1JfTElCUkFSWV9ESVJ9IENPTVBPTkVOVCAke0dSX0xJQlJBUllf UlVOVElNRV9DT01QT05FTlR9ICMgLnNvLy5keWxpYiBmaWxlCistICAgICAgICBBUkNISVZFIERF U1RJTkFUSU9OICR7R1JfTElCUkFSWV9ESVJ9IENPTVBPTkVOVCAke0dSX0xJQlJBUllfREVWRUxf Q09NUE9ORU5UfSAgICMgLmxpYiBmaWxlCistICAgICAgICBSVU5USU1FIERFU1RJTkFUSU9OICR7 R1JfUlVOVElNRV9ESVJ9IENPTVBPTkVOVCAke0dSX0xJQlJBUllfUlVOVElNRV9DT01QT05FTlR9 ICMgLmRsbCBmaWxlCistICAgICkKKy0KKy0gICAgI2V4dHJhcyBtb2RlIGVuYWJsZWQgYXV0b21h dGljYWxseSBvbiBsaW51eAorLSAgICBpZihOT1QgREVGSU5FRCBMSUJSQVJZX0VYVFJBUykKKy0g ICAgICAgIHNldChMSUJSQVJZX0VYVFJBUyAke0xJTlVYfSkKKy0gICAgZW5kaWYoKQorLQorLSAg ICAjc3BlY2lhbCBleHRyYXMgbW9kZSB0byBlbmFibGUgYWx0ZXJuYXRpdmUgbmFtaW5nIGNvbnZl bnRpb25zCistICAgIGlmKExJQlJBUllfRVhUUkFTKQorLQorLSAgICAgICAgI2NyZWF0ZSAubGEg ZmlsZSBiZWZvcmUgY2hhbmdpbmcgcHJvcHMKKy0gICAgICAgIEdSX0xJQlRPT0woVEFSR0VUICR7 dGFyZ2V0fSBERVNUSU5BVElPTiAke0dSX0xJQlJBUllfRElSfSkKKy0KKy0gICAgICAgICNnaXZl IHRoZSBsaWJyYXJ5IGEgc3BlY2lhbCBuYW1lIHdpdGggdWx0cmEtemVybyBzb3ZlcnNpb24KKy0g ICAgICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke3RhcmdldH0gUFJPUEVSVElFUyBPVVRQVVRf TkFNRSAke3RhcmdldH0tJHtMSUJWRVJ9IFNPVkVSU0lPTiAiMC4wLjAiKQorLSAgICAgICAgc2V0 KHRhcmdldF9uYW1lIGxpYiR7dGFyZ2V0fS0ke0xJQlZFUn0uc28uMC4wLjApCistCistICAgICAg ICAjY3VzdG9tIGNvbW1hbmQgdG8gZ2VuZXJhdGUgc3ltbGlua3MKKy0gICAgICAgIGFkZF9jdXN0 b21fY29tbWFuZCgKKy0gICAgICAgICAgICBUQVJHRVQgJHt0YXJnZXR9CistICAgICAgICAgICAg UE9TVF9CVUlMRAorLSAgICAgICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBjcmVh dGVfc3ltbGluayAke3RhcmdldF9uYW1lfSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGli JHt0YXJnZXR9LnNvCistICAgICAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGNy ZWF0ZV9zeW1saW5rICR7dGFyZ2V0X25hbWV9ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9s aWIke3RhcmdldH0tJHtMSUJWRVJ9LnNvLjAKKy0gICAgICAgICAgICBDT01NQU5EICR7Q01BS0Vf Q09NTUFORH0gLUUgdG91Y2ggJHt0YXJnZXRfbmFtZX0gI3NvIHRoZSBzeW1saW5rcyBwb2ludCB0 byBzb21ldGhpbmcgdmFsaWQgc28gY21ha2UgMi42IHdpbGwgaW5zdGFsbAorLSAgICAgICAgKQor LQorLSAgICAgICAgI2FuZCBpbnN0YWxsIHRoZSBleHRyYSBzeW1saW5rcworLSAgICAgICAgaW5z dGFsbCgKKy0gICAgICAgICAgICBGSUxFUworLSAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfS9saWIke3RhcmdldH0uc28KKy0gICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRf QklOQVJZX0RJUn0vbGliJHt0YXJnZXR9LSR7TElCVkVSfS5zby4wCistICAgICAgICAgICAgREVT VElOQVRJT04gJHtHUl9MSUJSQVJZX0RJUn0gQ09NUE9ORU5UICR7R1JfTElCUkFSWV9SVU5USU1F X0NPTVBPTkVOVH0KKy0gICAgICAgICkKKy0KKy0gICAgZW5kaWYoTElCUkFSWV9FWFRSQVMpCist ZW5kZnVuY3Rpb24oR1JfTElCUkFSWV9GT08pCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBDcmVh dGUgYSBkdW1teSBjdXN0b20gY29tbWFuZCB0aGF0IGRlcGVuZHMgb24gb3RoZXIgdGFyZ2V0cy4K Ky0jIFVzYWdlOgorLSMgICBHUl9HRU5fVEFSR0VUX0RFUFModW5pcXVlX25hbWUgdGFyZ2V0X2Rl cHMgPHRhcmdldDE+IDx0YXJnZXQyPiAuLi4pCistIyAgIEFERF9DVVNUT01fQ09NTUFORCg8dGhl IHVzdWFsIGFyZ3M+ICR7dGFyZ2V0X2RlcHN9KQorLSMKKy0jIEN1c3RvbSBjb21tYW5kIGNhbnQg ZGVwZW5kIG9uIHRhcmdldHMsIGJ1dCBjYW4gZGVwZW5kIG9uIGV4ZWN1dGFibGVzLAorLSMgYW5k IGV4ZWN1dGFibGVzIGNhbiBkZXBlbmQgb24gdGFyZ2V0cy4gU28gdGhpcyBpcyB0aGUgcHJvY2Vz czoKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1mdW5jdGlvbihHUl9HRU5fVEFSR0VUX0RFUFMgbmFtZSB2 YXIpCistICAgIGZpbGUoCistICAgICAgICBXUklURSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJ Un0vJHtuYW1lfS5jcHAuaW4KKy0gICAgICAgICJpbnQgbWFpbih2b2lkKXtyZXR1cm4gMDt9XG4i CistICAgICkKKy0gICAgZXhlY3V0ZV9wcm9jZXNzKAorLSAgICAgICAgQ09NTUFORCAke0NNQUtF X0NPTU1BTkR9IC1FIGNvcHlfaWZfZGlmZmVyZW50CistICAgICAgICAke0NNQUtFX0NVUlJFTlRf QklOQVJZX0RJUn0vJHtuYW1lfS5jcHAuaW4KKy0gICAgICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5B UllfRElSfS8ke25hbWV9LmNwcAorLSAgICApCistICAgIGFkZF9leGVjdXRhYmxlKCR7bmFtZX0g JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7bmFtZX0uY3BwKQorLSAgICBpZihBUkdOKQor LSAgICAgICAgYWRkX2RlcGVuZGVuY2llcygke25hbWV9ICR7QVJHTn0pCistICAgIGVuZGlmKEFS R04pCistCistICAgIGlmKENNQUtFX0NST1NTQ09NUElMSU5HKQorLSAgICAgICAgc2V0KCR7dmFy fSAiREVQRU5EUzske25hbWV9IiBQQVJFTlRfU0NPUEUpICNjYW50IGNhbGwgY29tbWFuZCB3aGVu IGNyb3NzCistICAgIGVsc2UoKQorLSAgICAgICAgc2V0KCR7dmFyfSAiREVQRU5EUzske25hbWV9 O0NPTU1BTkQ7JHtuYW1lfSIgUEFSRU5UX1NDT1BFKQorLSAgICBlbmRpZigpCistZW5kZnVuY3Rp b24oR1JfR0VOX1RBUkdFVF9ERVBTKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgQ29udHJvbCB1 c2Ugb2YgZ3JfbG9nZ2VyCistIyBVc2FnZToKKy0jICAgR1JfTE9HR0lORygpCistIworLSMgV2ls bCBzZXQgRU5BQkxFX0dSX0xPRyB0byAxIGJ5IGRlZmF1bHQuCistIyBDYW4gbWFudWFsbHkgc2V0 IHdpdGggLURFTkFCTEVfR1JfTE9HPTB8MQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWZ1bmN0aW9uKEdS X0xPR0dJTkcpCistICBmaW5kX3BhY2thZ2UoTG9nNGNwcCkKKy0KKy0gIE9QVElPTihFTkFCTEVf R1JfTE9HICJVc2UgZ3JfbG9nZ2VyIiBPTikKKy0gIGlmKEVOQUJMRV9HUl9MT0cpCistICAgICMg SWYgZ3JfbG9nZ2VyIGlzIGVuYWJsZWQsIG1ha2UgaXQgdXNhYmxlCistICAgIGFkZF9kZWZpbml0 aW9ucyggLURFTkFCTEVfR1JfTE9HICkKKy0KKy0gICAgIyBhbHNvIHRlc3QgTE9HNENQUDsgaWYg d2UgaGF2ZSBpdCwgdXNlIHRoaXMgdmVyc2lvbiBvZiB0aGUgbG9nZ2VyCistICAgICMgb3RoZXJ3 aXNlLCBkZWZhdWx0IHRvIHRoZSBzdGRvdXQvc3RkZXJyIG1vZGVsLgorLSAgICBpZihMT0c0Q1BQ X0ZPVU5EKQorLSAgICAgIFNFVChIQVZFX0xPRzRDUFAgVHJ1ZSBDQUNIRSBJTlRFUk5BTCAiIiBG T1JDRSkKKy0gICAgICBhZGRfZGVmaW5pdGlvbnMoIC1ESEFWRV9MT0c0Q1BQICkKKy0gICAgZWxz ZShub3QgTE9HNENQUF9GT1VORCkKKy0gICAgICBTRVQoSEFWRV9MT0c0Q1BQIEZhbHNlIENBQ0hF IElOVEVSTkFMICIiIEZPUkNFKQorLSAgICAgIFNFVChMT0c0Q1BQX0lOQ0xVREVfRElSUyAiIiBD QUNIRSBJTlRFUk5BTCAiIiBGT1JDRSkKKy0gICAgICBTRVQoTE9HNENQUF9MSUJSQVJZX0RJUlMg IiIgQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCistICAgICAgU0VUKExPRzRDUFBfTElCUkFSSUVT ICIiIENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQorLSAgICBlbmRpZihMT0c0Q1BQX0ZPVU5EKQor LQorLSAgICBTRVQoRU5BQkxFX0dSX0xPRyAke0VOQUJMRV9HUl9MT0d9IENBQ0hFIElOVEVSTkFM ICIiIEZPUkNFKQorLQorLSAgZWxzZShFTkFCTEVfR1JfTE9HKQorLSAgICBTRVQoSEFWRV9MT0c0 Q1BQIEZhbHNlIENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQorLSAgICBTRVQoTE9HNENQUF9JTkNM VURFX0RJUlMgIiIgQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCistICAgIFNFVChMT0c0Q1BQX0xJ QlJBUllfRElSUyAiIiBDQUNIRSBJTlRFUk5BTCAiIiBGT1JDRSkKKy0gICAgU0VUKExPRzRDUFBf TElCUkFSSUVTICIiIENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQorLSAgZW5kaWYoRU5BQkxFX0dS X0xPRykKKy0KKy0gIG1lc3NhZ2UoU1RBVFVTICJFTkFCTEVfR1JfTE9HIHNldCB0byAke0VOQUJM RV9HUl9MT0d9LiIpCistICBtZXNzYWdlKFNUQVRVUyAiSEFWRV9MT0c0Q1BQIHNldCB0byAke0hB VkVfTE9HNENQUH0uIikKKy0gIG1lc3NhZ2UoU1RBVFVTICJMT0c0Q1BQX0xJQlJBUklFUyBzZXQg dG8gJHtMT0c0Q1BQX0xJQlJBUklFU30uIikKKy0KKy1lbmRmdW5jdGlvbihHUl9MT0dHSU5HKQor LQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworLSMgUnVuIEdSQ0MgdG8gY29tcGlsZSAuZ3JjIGZpbGVzIGlu dG8gLnB5IGZpbGVzLgorLSMKKy0jIFVzYWdlOiBHUkNDKGZpbGVuYW1lLCBkaXJlY3RvcnkpCist IyAgICAtIGZpbGVuYW1lczogTGlzdCBvZiBmaWxlIG5hbWUgb2YgLmdyYyBmaWxlCistIyAgICAt IGRpcmVjdG9yeTogZGlyZWN0b3J5IG9mIGJ1aWx0IC5weSBmaWxlIC0gdXN1YWxseSBpbgorLSMg ICAgICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfQorLSMgICAgLSBTZXRz IFBZRklMRVM6IG91dHB1dCBjb252ZXJ0ZWQgR1JDIGZpbGUgbmFtZXMgdG8gUHl0aG9uIGZpbGVz LgorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworLWZ1bmN0aW9uKEdSQ0MpCistICAjIEV4dHJhY3QgZGlyZWN0 b3J5IGZyb20gbGlzdCBvZiBhcmdzLCByZW1vdmUgaXQgZm9yIHRoZSBsaXN0IG9mIGZpbGVuYW1l cy4KKy0gIGxpc3QoR0VUIEFSR1YgLTEgZGlyZWN0b3J5KQorLSAgbGlzdChSRU1PVkVfQVQgQVJH ViAtMSkKKy0gIHNldChmaWxlbmFtZXMgJHtBUkdWfSkKKy0gIGZpbGUoTUFLRV9ESVJFQ1RPUlkg JHtkaXJlY3Rvcnl9KQorLQorLSAgU0VUKEdSQ0NfQ09NTUFORCAke0NNQUtFX1NPVVJDRV9ESVJ9 L2dyLXV0aWxzL3B5dGhvbi9ncmNjKQorLQorLSAgIyBHUkNDIHVzZXMgc29tZSBzdHVmZiBpbiBn cmMgYW5kIGdudXJhZGlvLXJ1bnRpbWUsIHNvIHdlIGZvcmNlCistICAjIHRoZSBrbm93biBwYXRo cyBoZXJlCistICBsaXN0KEFQUEVORCBQWVRIT05QQVRIUworLSAgICAke0NNQUtFX1NPVVJDRV9E SVJ9CistICAgICR7Q01BS0VfU09VUkNFX0RJUn0vZ251cmFkaW8tcnVudGltZS9weXRob24KKy0g ICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9nbnVyYWRpby1ydW50aW1lL2xpYi9zd2lnCistICAgICR7 Q01BS0VfQklOQVJZX0RJUn0vZ251cmFkaW8tcnVudGltZS9saWIvc3dpZworLSAgICApCistCist ICBpZihXSU4zMikKKy0gICAgI1NXSUcgZ2VuZXJhdGVzIHRoZSBweXRob24gbGlicmFyeSBmaWxl cyBpbnRvIGEgc3ViZGlyZWN0b3J5LgorLSAgICAjVGhlcmVmb3JlLCB3ZSBtdXN0IGFwcGVuZCB0 aGlzIHN1YmRpcmVjdG9yeSBpbnRvIFBZVEhPTlBBVEguCistICAgICNPbmx5IGRvIHRoaXMgZm9y IHRoZSBweXRob24gZGlyZWN0b3JpZXMgbWF0Y2hpbmcgdGhlIGZvbGxvd2luZzoKKy0gICAgZm9y ZWFjaChweWRpciAke1BZVEhPTlBBVEhTfSkKKy0gICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50 KG5hbWUgJHtweWRpcn0gTkFNRSkKKy0gICAgICBpZihuYW1lIE1BVENIRVMgIl4oc3dpZ3xsaWJ8 c3JjKSQiKQorLSAgICAgICAgbGlzdChBUFBFTkQgUFlUSE9OUEFUSFMgJHtweWRpcn0vJHtDTUFL RV9CVUlMRF9UWVBFfSkKKy0gICAgICBlbmRpZigpCistICAgIGVuZGZvcmVhY2gocHlkaXIpCist ICBlbmRpZihXSU4zMikKKy0KKy0gIGZpbGUoVE9fTkFUSVZFX1BBVEggIiR7UFlUSE9OUEFUSFN9 IiBweXBhdGgpCistCistICBpZihVTklYKQorLSAgICBsaXN0KEFQUEVORCBweXBhdGggIiRQWVRI T05QQVRIIikKKy0gICAgc3RyaW5nKFJFUExBQ0UgIjsiICI6IiBweXBhdGggIiR7cHlwYXRofSIp CistICAgIHNldChFTlZ7UFlUSE9OUEFUSH0gJHtweXBhdGh9KQorLSAgZW5kaWYoVU5JWCkKKy0K Ky0gIGlmKFdJTjMyKQorLSAgICBsaXN0KEFQUEVORCBweXBhdGggIiVQWVRIT05QQVRIJSIpCist ICAgIHN0cmluZyhSRVBMQUNFICI7IiAiXFw7IiBweXBhdGggIiR7cHlwYXRofSIpCistICAgICNs aXN0KEFQUEVORCBlbnZpcm9ucyAiUFlUSE9OUEFUSD0ke3B5cGF0aH0iKQorLSAgICBzZXQoRU5W e1BZVEhPTlBBVEh9ICR7cHlwYXRofSkKKy0gIGVuZGlmKFdJTjMyKQorLQorLSAgZm9yZWFjaChm ICR7ZmlsZW5hbWVzfSkKKy0gICAgZXhlY3V0ZV9wcm9jZXNzKAorLSAgICAgIENPTU1BTkQgJHtH UkNDX0NPTU1BTkR9IC1kICR7ZGlyZWN0b3J5fSAke2Z9CistICAgICAgKQorLSAgICBzdHJpbmco UkVQTEFDRSAiLmdyYyIgIi5weSIgcHlmaWxlICIke2Z9IikKKy0gICAgc3RyaW5nKFJFUExBQ0Ug IiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSIgIiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElS fSIgcHlmaWxlICIke3B5ZmlsZX0iKQorLSAgICBsaXN0KEFQUEVORCBweWZpbGVzICR7cHlmaWxl fSkKKy0gIGVuZGZvcmVhY2goZikKKy0KKy0gIHNldChQWUZJTEVTICR7cHlmaWxlc30gUEFSRU5U X1NDT1BFKQorLWVuZGZ1bmN0aW9uKEdSQ0MpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBDaGVj ayBpZiBIQVZFX1BUSFJFQURfU0VUU0NIRURQQVJBTSBhbmQgSEFWRV9TQ0hFRF9TRVRTQ0hFRFVM RVIKKy0jICBzaG91bGQgYmUgZGVmaW5lZAorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLW1hY3JvKEdSX0NI RUNLX0xJTlVYX1NDSEVEX0FWQUlMKQorLXNldChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgLWxw dGhyZWFkKQorLSAgICBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTKCIKKy0gICAgICAgICNpbmNs dWRlIDxwdGhyZWFkLmg+CistICAgICAgICBpbnQgbWFpbigpeworLSAgICAgICAgICAgIHB0aHJl YWRfdCBwdGhyZWFkOworLSAgICAgICAgICAgIHB0aHJlYWRfc2V0c2NoZWRwYXJhbShwdGhyZWFk LCAgMCwgMCk7CistICAgICAgICAgICAgcmV0dXJuIDA7CistICAgICAgICB9ICIgSEFWRV9QVEhS RUFEX1NFVFNDSEVEUEFSQU0KKy0gICAgKQorLSAgICBHUl9BRERfQ09ORF9ERUYoSEFWRV9QVEhS RUFEX1NFVFNDSEVEUEFSQU0pCistCistICAgIENIRUNLX0NYWF9TT1VSQ0VfQ09NUElMRVMoIgor LSAgICAgICAgI2luY2x1ZGUgPHNjaGVkLmg+CistICAgICAgICBpbnQgbWFpbigpeworLSAgICAg ICAgICAgIHBpZF90IHBpZDsKKy0gICAgICAgICAgICBzY2hlZF9zZXRzY2hlZHVsZXIocGlkLCAw LCAwKTsKKy0gICAgICAgICAgICByZXR1cm4gMDsKKy0gICAgICAgIH0gIiBIQVZFX1NDSEVEX1NF VFNDSEVEVUxFUgorLSAgICApCistICAgIEdSX0FERF9DT05EX0RFRihIQVZFX1NDSEVEX1NFVFND SEVEVUxFUikKKy1lbmRtYWNybyhHUl9DSEVDS19MSU5VWF9TQ0hFRF9BVkFJTCkKKy0KKy0jIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKy0jIE1hY3JvcyB0byBnZW5lcmF0ZSBzb3VyY2UgYW5kIGhlYWRlciBmaWxl cyBmcm9tIHRlbXBsYXRlCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistbWFjcm8oR1JfRVhQQU5EX1hfSCBj b21wb25lbnQgcm9vdCkKKy0KKy0gIGluY2x1ZGUoR3JQeXRob24pCistCistICBmaWxlKFdSSVRF ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nZW5lcmF0ZV9oZWxwZXIucHkKKy0iIyEke1BZ VEhPTl9FWEVDVVRBQkxFfQorLQorLWltcG9ydCBzeXMsIG9zLCByZQorLXN5cy5wYXRoLmFwcGVu ZCgnJHtHUl9SVU5USU1FX1BZVEhPTlBBVEh9JykKKy1vcy5lbnZpcm9uWydzcmNkaXInXSA9ICck e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0nCistb3MuY2hkaXIoJyR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfScpCistCistaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKy0gICAgaW1wb3J0 IGJ1aWxkX3V0aWxzCistICAgIHJvb3QsIGlucCA9IHN5cy5hcmd2WzE6M10KKy0gICAgZm9yIHNp ZyBpbiBzeXMuYXJndlszOl06CistICAgICAgICBuYW1lID0gcmUuc3ViICgnWCsnLCBzaWcsIHJv b3QpCistICAgICAgICBkID0gYnVpbGRfdXRpbHMuc3RhbmRhcmRfZGljdDIobmFtZSwgc2lnLCAn JHtjb21wb25lbnR9JykKKy0gICAgICAgIGJ1aWxkX3V0aWxzLmV4cGFuZF90ZW1wbGF0ZShkLCBp bnApCistIikKKy0KKy0gICNtYWtlIGEgbGlzdCBvZiBhbGwgdGhlIGdlbmVyYXRlZCBoZWFkZXJz CistICB1bnNldChleHBhbmRlZF9maWxlc19oKQorLSAgZm9yZWFjaChzaWcgJHtBUkdOfSkKKy0g ICAgc3RyaW5nKFJFR0VYIFJFUExBQ0UgIlgrIiAke3NpZ30gbmFtZSAke3Jvb3R9KQorLSAgICBs aXN0KEFQUEVORCBleHBhbmRlZF9maWxlc19oICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8k e25hbWV9LmgpCistICBlbmRmb3JlYWNoKHNpZykKKy0gIHVuc2V0KG5hbWUpCistCistICAjY3Jl YXRlIGEgY29tbWFuZCB0byBnZW5lcmF0ZSB0aGUgaGVhZGVycworLSAgYWRkX2N1c3RvbV9jb21t YW5kKAorLSAgICBPVVRQVVQgJHtleHBhbmRlZF9maWxlc19ofQorLSAgICBERVBFTkRTICR7Q01B S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8ke3Jvb3R9LmgudAorLSAgICBDT01NQU5EICR7UFlUSE9O X0VYRUNVVEFCTEV9ICR7UFlUSE9OX0RBU0hfQn0KKy0gICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFS WV9ESVJ9L2dlbmVyYXRlX2hlbHBlci5weQorLSAgICAke3Jvb3R9ICR7cm9vdH0uaC50ICR7QVJH Tn0KKy0gICkKKy0KKy0gICNpbnN0YWxsIHJ1bGVzIGZvciB0aGUgZ2VuZXJhdGVkIGhlYWRlcnMK Ky0gIGxpc3QoQVBQRU5EIGdlbmVyYXRlZF9pbmNsdWRlcyAke2V4cGFuZGVkX2ZpbGVzX2h9KQor LQorLWVuZG1hY3JvKEdSX0VYUEFORF9YX0gpCistCistbWFjcm8oR1JfRVhQQU5EX1hfQ0NfSCBj b21wb25lbnQgcm9vdCkKKy0KKy0gIGluY2x1ZGUoR3JQeXRob24pCistCistICBmaWxlKFdSSVRF ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nZW5lcmF0ZV9oZWxwZXIucHkKKy0iIyEke1BZ VEhPTl9FWEVDVVRBQkxFfQorLQorLWltcG9ydCBzeXMsIG9zLCByZQorLXN5cy5wYXRoLmFwcGVu ZCgnJHtHUl9SVU5USU1FX1BZVEhPTlBBVEh9JykKKy1vcy5lbnZpcm9uWydzcmNkaXInXSA9ICck e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0nCistb3MuY2hkaXIoJyR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfScpCistCistaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKy0gICAgaW1wb3J0 IGJ1aWxkX3V0aWxzCistICAgIHJvb3QsIGlucCA9IHN5cy5hcmd2WzE6M10KKy0gICAgZm9yIHNp ZyBpbiBzeXMuYXJndlszOl06CistICAgICAgICBuYW1lID0gcmUuc3ViICgnWCsnLCBzaWcsIHJv b3QpCistICAgICAgICBkID0gYnVpbGRfdXRpbHMuc3RhbmRhcmRfaW1wbF9kaWN0MihuYW1lLCBz aWcsICcke2NvbXBvbmVudH0nKQorLSAgICAgICAgYnVpbGRfdXRpbHMuZXhwYW5kX3RlbXBsYXRl KGQsIGlucCkKKy0iKQorLQorLSAgI21ha2UgYSBsaXN0IG9mIGFsbCB0aGUgZ2VuZXJhdGVkIGZp bGVzCistICB1bnNldChleHBhbmRlZF9maWxlc19jYykKKy0gIHVuc2V0KGV4cGFuZGVkX2ZpbGVz X2gpCistICBmb3JlYWNoKHNpZyAke0FSR059KQorLSAgICBzdHJpbmcoUkVHRVggUkVQTEFDRSAi WCsiICR7c2lnfSBuYW1lICR7cm9vdH0pCistICAgIGxpc3QoQVBQRU5EIGV4cGFuZGVkX2ZpbGVz X2NjICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke25hbWV9LmNjKQorLSAgICBsaXN0KEFQ UEVORCBleHBhbmRlZF9maWxlc19oICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vJHtuYW1l fS5oKQorLSAgZW5kZm9yZWFjaChzaWcpCistICB1bnNldChuYW1lKQorLQorLSAgI2NyZWF0ZSBh IGNvbW1hbmQgdG8gZ2VuZXJhdGUgdGhlIHNvdXJjZSBmaWxlcworLSAgYWRkX2N1c3RvbV9jb21t YW5kKAorLSAgICBPVVRQVVQgJHtleHBhbmRlZF9maWxlc19jY30KKy0gICAgREVQRU5EUyAke0NN QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vJHtyb290fS5jYy50CistICAgIENPTU1BTkQgJHtQWVRI T05fRVhFQ1VUQUJMRX0gJHtQWVRIT05fREFTSF9CfQorLSAgICAke0NNQUtFX0NVUlJFTlRfQklO QVJZX0RJUn0vZ2VuZXJhdGVfaGVscGVyLnB5CistICAgICR7cm9vdH0gJHtyb290fS5jYy50ICR7 QVJHTn0KKy0gICkKKy0KKy0gICNjcmVhdGUgYSBjb21tYW5kIHRvIGdlbmVyYXRlIHRoZSBoZWFk ZXIgZmlsZXMKKy0gIGFkZF9jdXN0b21fY29tbWFuZCgKKy0gICAgT1VUUFVUICR7ZXhwYW5kZWRf ZmlsZXNfaH0KKy0gICAgREVQRU5EUyAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vJHtyb290 fS5oLnQKKy0gICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke1BZVEhPTl9EQVNIX0J9 CistICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nZW5lcmF0ZV9oZWxwZXIucHkKKy0g ICAgJHtyb290fSAke3Jvb3R9LmgudCAke0FSR059CistICApCistCistICAjbWFrZSBzb3VyY2Ug ZmlsZXMgZGVwZW5kcyBvbiBoZWFkZXJzIHRvIGZvcmNlIGdlbmVyYXRpb24KKy0gIHNldF9zb3Vy Y2VfZmlsZXNfcHJvcGVydGllcygke2V4cGFuZGVkX2ZpbGVzX2NjfQorLSAgICBQUk9QRVJUSUVT IE9CSkVDVF9ERVBFTkRTICIke2V4cGFuZGVkX2ZpbGVzX2h9IgorLSAgKQorLQorLSAgI2luc3Rh bGwgcnVsZXMgZm9yIHRoZSBnZW5lcmF0ZWQgZmlsZXMKKy0gIGxpc3QoQVBQRU5EIGdlbmVyYXRl ZF9zb3VyY2VzICR7ZXhwYW5kZWRfZmlsZXNfY2N9KQorLSAgbGlzdChBUFBFTkQgZ2VuZXJhdGVk X2hlYWRlcnMgJHtleHBhbmRlZF9maWxlc19ofSkKKy0KKy1lbmRtYWNybyhHUl9FWFBBTkRfWF9D Q19IKQorLQorLW1hY3JvKEdSX0VYUEFORF9YX0NDX0hfSU1QTCBjb21wb25lbnQgcm9vdCkKKy0K Ky0gIGluY2x1ZGUoR3JQeXRob24pCistCistICBmaWxlKFdSSVRFICR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfS9nZW5lcmF0ZV9oZWxwZXIucHkKKy0iIyEke1BZVEhPTl9FWEVDVVRBQkxFfQor LQorLWltcG9ydCBzeXMsIG9zLCByZQorLXN5cy5wYXRoLmFwcGVuZCgnJHtHUl9SVU5USU1FX1BZ VEhPTlBBVEh9JykKKy1vcy5lbnZpcm9uWydzcmNkaXInXSA9ICcke0NNQUtFX0NVUlJFTlRfU09V UkNFX0RJUn0nCistb3MuY2hkaXIoJyR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfScpCistCist aWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKy0gICAgaW1wb3J0IGJ1aWxkX3V0aWxzCistICAg IHJvb3QsIGlucCA9IHN5cy5hcmd2WzE6M10KKy0gICAgZm9yIHNpZyBpbiBzeXMuYXJndlszOl06 CistICAgICAgICBuYW1lID0gcmUuc3ViICgnWCsnLCBzaWcsIHJvb3QpCistICAgICAgICBkID0g YnVpbGRfdXRpbHMuc3RhbmRhcmRfZGljdChuYW1lLCBzaWcsICcke2NvbXBvbmVudH0nKQorLSAg ICAgICAgYnVpbGRfdXRpbHMuZXhwYW5kX3RlbXBsYXRlKGQsIGlucCwgJ19pbXBsJykKKy0iKQor LQorLSAgI21ha2UgYSBsaXN0IG9mIGFsbCB0aGUgZ2VuZXJhdGVkIGZpbGVzCistICB1bnNldChl eHBhbmRlZF9maWxlc19jY19pbXBsKQorLSAgdW5zZXQoZXhwYW5kZWRfZmlsZXNfaF9pbXBsKQor LSAgdW5zZXQoZXhwYW5kZWRfZmlsZXNfaCkKKy0gIGZvcmVhY2goc2lnICR7QVJHTn0pCistICAg IHN0cmluZyhSRUdFWCBSRVBMQUNFICJYKyIgJHtzaWd9IG5hbWUgJHtyb290fSkKKy0gICAgbGlz dChBUFBFTkQgZXhwYW5kZWRfZmlsZXNfY2NfaW1wbCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJ Un0vJHtuYW1lfV9pbXBsLmNjKQorLSAgICBsaXN0KEFQUEVORCBleHBhbmRlZF9maWxlc19oX2lt cGwgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7bmFtZX1faW1wbC5oKQorLSAgICBsaXN0 KEFQUEVORCBleHBhbmRlZF9maWxlc19oICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8uLi9p bmNsdWRlL2dudXJhZGlvLyR7Y29tcG9uZW50fS8ke25hbWV9LmgpCistICBlbmRmb3JlYWNoKHNp ZykKKy0gIHVuc2V0KG5hbWUpCistCistICAjY3JlYXRlIGEgY29tbWFuZCB0byBnZW5lcmF0ZSB0 aGUgX2ltcGwuY2MgZmlsZXMKKy0gIGFkZF9jdXN0b21fY29tbWFuZCgKKy0gICAgT1VUUFVUICR7 ZXhwYW5kZWRfZmlsZXNfY2NfaW1wbH0KKy0gICAgREVQRU5EUyAke0NNQUtFX0NVUlJFTlRfU09V UkNFX0RJUn0vJHtyb290fV9pbXBsLmNjLnQKKy0gICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRB QkxFfSAke1BZVEhPTl9EQVNIX0J9CistICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9n ZW5lcmF0ZV9oZWxwZXIucHkKKy0gICAgJHtyb290fSAke3Jvb3R9X2ltcGwuY2MudCAke0FSR059 CistICApCistCistICAjY3JlYXRlIGEgY29tbWFuZCB0byBnZW5lcmF0ZSB0aGUgX2ltcGwuaCBm aWxlcworLSAgYWRkX2N1c3RvbV9jb21tYW5kKAorLSAgICBPVVRQVVQgJHtleHBhbmRlZF9maWxl c19oX2ltcGx9CistICAgIERFUEVORFMgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7cm9v dH1faW1wbC5oLnQKKy0gICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke1BZVEhPTl9E QVNIX0J9CistICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nZW5lcmF0ZV9oZWxwZXIu cHkKKy0gICAgJHtyb290fSAke3Jvb3R9X2ltcGwuaC50ICR7QVJHTn0KKy0gICkKKy0KKy0gICNt YWtlIF9pbXBsLmNjIHNvdXJjZSBmaWxlcyBkZXBlbmQgb24gX2ltcGwuaCB0byBmb3JjZSBnZW5l cmF0aW9uCistICBzZXRfc291cmNlX2ZpbGVzX3Byb3BlcnRpZXMoJHtleHBhbmRlZF9maWxlc19j Y19pbXBsfQorLSAgICBQUk9QRVJUSUVTIE9CSkVDVF9ERVBFTkRTICIke2V4cGFuZGVkX2ZpbGVz X2hfaW1wbH0iCistICApCistCistICAjbWFrZSBfaW1wbC5oIHNvdXJjZSBmaWxlcyBkZXBlbmQg b24gaGVhZGVycyB0byBmb3JjZSBnZW5lcmF0aW9uCistICBzZXRfc291cmNlX2ZpbGVzX3Byb3Bl cnRpZXMoJHtleHBhbmRlZF9maWxlc19oX2ltcGx9CistICAgIFBST1BFUlRJRVMgT0JKRUNUX0RF UEVORFMgIiR7ZXhwYW5kZWRfZmlsZXNfaH0iCistICApCistCistICAjaW5zdGFsbCBydWxlcyBm b3IgdGhlIGdlbmVyYXRlZCBmaWxlcworLSAgbGlzdChBUFBFTkQgZ2VuZXJhdGVkX3NvdXJjZXMg JHtleHBhbmRlZF9maWxlc19jY19pbXBsfSkKKy0gIGxpc3QoQVBQRU5EIGdlbmVyYXRlZF9oZWFk ZXJzICR7ZXhwYW5kZWRfZmlsZXNfaF9pbXBsfSkKKy0KKy1lbmRtYWNybyhHUl9FWFBBTkRfWF9D Q19IX0lNUEwpCitkaWZmIC0tZ2l0IGEvY21ha2UvTW9kdWxlcy9HclBsYXRmb3JtLmNtYWtlIGIv Y21ha2UvTW9kdWxlcy9HclBsYXRmb3JtLmNtYWtlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IGZiYmVhNWYuLjAwMDAwMDAKKy0tLSBjbWFrZS9Nb2R1bGVzL0dyUGxhdGZvcm0uY21h a2UKKysrKyAvZGV2L251bGwKK0BAIC0xLDU0ICswLDAgQEAKKy0jIENvcHlyaWdodCAyMDExIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLSMKKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IEdOVSBSYWRpbworLSMKKy0jIEdOVSBSYWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLSMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9u KQorLSMgYW55IGxhdGVyIHZlcnNpb24uCistIworLSMgR05VIFJhZGlvIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistIyBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSMgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQor LSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0jCistIyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorLSMgYWxvbmcgd2l0aCBHTlUgUmFkaW87IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAg SWYgbm90LCB3cml0ZSB0bworLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg NTEgRnJhbmtsaW4gU3RyZWV0LAorLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCistCist aWYoREVGSU5FRCBfX0lOQ0xVREVEX0dSX1BMQVRGT1JNX0NNQUtFKQorLSAgICByZXR1cm4oKQor LWVuZGlmKCkKKy1zZXQoX19JTkNMVURFRF9HUl9QTEFURk9STV9DTUFLRSBUUlVFKQorLQorLSMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworLSMgU2V0dXAgYWRkaXRpb25hbCBkZWZpbmVzIGZvciBPUyB0eXBlcwor LSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworLWlmKENNQUtFX1NZU1RFTV9OQU1FIFNUUkVRVUFMICJMaW51eCIp CistICAgIHNldChMSU5VWCBUUlVFKQorLWVuZGlmKCkKKy0KKy1pZihOT1QgQ01BS0VfQ1JPU1ND T01QSUxJTkcgQU5EIExJTlVYIEFORCBFWElTVFMgIi9ldGMvZGViaWFuX3ZlcnNpb24iKQorLSAg ICBzZXQoREVCSUFOIFRSVUUpCistZW5kaWYoKQorLQorLWlmKE5PVCBDTUFLRV9DUk9TU0NPTVBJ TElORyBBTkQgTElOVVggQU5EIEVYSVNUUyAiL2V0Yy9yZWRoYXQtcmVsZWFzZSIpCistICAgIHNl dChSRURIQVQgVFJVRSkKKy1lbmRpZigpCistCistaWYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5H IEFORCBMSU5VWCBBTkQgRVhJU1RTICIvZXRjL3NsYWNrd2FyZS12ZXJzaW9uIikKKy0gICAgc2V0 KFNMQUNLV0FSRSBUUlVFKQorLWVuZGlmKCkKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIHdoZW4g dGhlIGxpYnJhcnkgc3VmZml4IHNob3VsZCBiZSA2NCAoYXBwbGllcyB0byByZWRoYXQgbGludXgg ZmFtaWx5KQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWlmIChSRURIQVQgT1IgU0xBQ0tXQVJFKQorLSAg ICBzZXQoTElCNjRfQ09OVkVOVElPTiBUUlVFKQorLWVuZGlmKCkKKy0KKy1pZihOT1QgREVGSU5F RCBMSUJfU1VGRklYIEFORCBMSUI2NF9DT05WRU5USU9OIEFORCBDTUFLRV9TWVNURU1fUFJPQ0VT U09SIE1BVENIRVMgIjY0JCIpCistICAgIHNldChMSUJfU1VGRklYIDY0KQorLWVuZGlmKCkKKy1z ZXQoTElCX1NVRkZJWCAke0xJQl9TVUZGSVh9IENBQ0hFIFNUUklORyAibGliIGRpcmVjdG9yeSBz dWZmaXgiKQorZGlmZiAtLWdpdCBhL2NtYWtlL01vZHVsZXMvR3JQeXRob24uY21ha2UgYi9jbWFr ZS9Nb2R1bGVzL0dyUHl0aG9uLmNtYWtlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDM5NWZhZmYuLjAwMDAwMDAKKy0tLSBjbWFrZS9Nb2R1bGVzL0dyUHl0aG9uLmNtYWtlCisrKysg L2Rldi9udWxsCitAQCAtMSwyNDIgKzAsMCBAQAorLSMgQ29weXJpZ2h0IDIwMTAtMjAxMSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0jCistIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBH TlUgUmFkaW8KKy0jCistIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy0jIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikK Ky0jIGFueSBsYXRlciB2ZXJzaW9uLgorLSMKKy0jIEdOVSBSYWRpbyBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLSMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0jIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy0j IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistIworLSMgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKy0jIGFsb25nIHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElm IG5vdCwgd3JpdGUgdG8KKy0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx IEZyYW5rbGluIFN0cmVldCwKKy0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorLQorLWlm KERFRklORUQgX19JTkNMVURFRF9HUl9QWVRIT05fQ01BS0UpCistICAgIHJldHVybigpCistZW5k aWYoKQorLXNldChfX0lOQ0xVREVEX0dSX1BZVEhPTl9DTUFLRSBUUlVFKQorLQorLSMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworLSMgU2V0dXAgdGhlIHB5dGhvbiBpbnRlcnByZXRlcjoKKy0jIFRoaXMgYWxsb3dz IHRoZSB1c2VyIHRvIHNwZWNpZnkgYSBzcGVjaWZpYyBpbnRlcnByZXRlciwKKy0jIG9yIGZpbmRz IHRoZSBpbnRlcnByZXRlciB2aWEgdGhlIGJ1aWx0LWluIGNtYWtlIG1vZHVsZS4KKy0jIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKy0jdGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8gb3ZlcnJpZGUgUFlUSE9OX0VYRUNV VEFCTEUKKy1pZihQWVRIT05fRVhFQ1VUQUJMRSkKKy0KKy0gICAgc2V0KFBZVEhPTklOVEVSUF9G T1VORCBUUlVFKQorLQorLSNvdGhlcndpc2UgaWYgbm90IHNldCwgdHJ5IHRvIGF1dG9tYXRpY2Fs bHkgZmluZCBpdAorLWVsc2UoUFlUSE9OX0VYRUNVVEFCTEUpCistCistICAgICN1c2UgdGhlIGJ1 aWx0LWluIGZpbmQgc2NyaXB0CistICAgIGZpbmRfcGFja2FnZShQeXRob25JbnRlcnAgMikKKy0K Ky0gICAgI2FuZCBpZiB0aGF0IGZhaWxzIHVzZSB0aGUgZmluZCBwcm9ncmFtIHJvdXRpbmUKKy0g ICAgaWYoTk9UIFBZVEhPTklOVEVSUF9GT1VORCkKKy0gICAgICAgIGZpbmRfcHJvZ3JhbShQWVRI T05fRVhFQ1VUQUJMRSBOQU1FUyBweXRob24gcHl0aG9uMiBweXRob24yLjcgcHl0aG9uMi42IHB5 dGhvbjIuNSkKKy0gICAgICAgIGlmKFBZVEhPTl9FWEVDVVRBQkxFKQorLSAgICAgICAgICAgIHNl dChQWVRIT05JTlRFUlBfRk9VTkQgVFJVRSkKKy0gICAgICAgIGVuZGlmKFBZVEhPTl9FWEVDVVRB QkxFKQorLSAgICBlbmRpZihOT1QgUFlUSE9OSU5URVJQX0ZPVU5EKQorLQorLWVuZGlmKFBZVEhP Tl9FWEVDVVRBQkxFKQorLQorLWlmIChDTUFLRV9DUk9TU0NPTVBJTElORykKKy0gICAgc2V0KFFB X1BZVEhPTl9FWEVDVVRBQkxFICIvdXNyL2Jpbi9weXRob24iKQorLWVsc2UgKENNQUtFX0NST1NT Q09NUElMSU5HKQorLSAgICBzZXQoUUFfUFlUSE9OX0VYRUNVVEFCTEUgJHtQWVRIT05fRVhFQ1VU QUJMRX0pCistZW5kaWYoQ01BS0VfQ1JPU1NDT01QSUxJTkcpCistCistI21ha2UgdGhlIHBhdGgg dG8gdGhlIGV4ZWN1dGFibGUgYXBwZWFyIGluIHRoZSBjbWFrZSBndWkKKy1zZXQoUFlUSE9OX0VY RUNVVEFCTEUgJHtQWVRIT05fRVhFQ1VUQUJMRX0gQ0FDSEUgRklMRVBBVEggInB5dGhvbiBpbnRl cnByZXRlciIpCistc2V0KFFBX1BZVEhPTl9FWEVDVVRBQkxFICR7UUFfUFlUSE9OX0VYRUNVVEFC TEV9IENBQ0hFIEZJTEVQQVRIICJweXRob24gaW50ZXJwcmV0ZXIgZm9yIFFBIHRlc3RzIikKKy0K Ky0jbWFrZSBzdXJlIHdlIGNhbiB1c2UgLUIgd2l0aCBweXRob24gKGludHJvZHVjZWQgaW4gMi42 KQorLWlmKFBZVEhPTl9FWEVDVVRBQkxFKQorLSAgICBleGVjdXRlX3Byb2Nlc3MoCistICAgICAg ICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1CIC1jICIiCistICAgICAgICBPVVRQVVRf UVVJRVQgRVJST1JfUVVJRVQKKy0gICAgICAgIFJFU1VMVF9WQVJJQUJMRSBQWVRIT05fSEFTX0RB U0hfQl9SRVNVTFQKKy0gICAgKQorLSAgICBpZihQWVRIT05fSEFTX0RBU0hfQl9SRVNVTFQgRVFV QUwgMCkKKy0gICAgICAgIHNldChQWVRIT05fREFTSF9CICItQiIpCistICAgIGVuZGlmKCkKKy1l bmRpZihQWVRIT05fRVhFQ1VUQUJMRSkKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIENoZWNrIGZv ciB0aGUgZXhpc3RlbmNlIG9mIGEgcHl0aG9uIG1vZHVsZToKKy0jIC0gZGVzYyBhIHN0cmluZyBk ZXNjcmlwdGlvbiBvZiB0aGUgY2hlY2sKKy0jIC0gbW9kIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUg dG8gaW1wb3J0CistIyAtIGNtZCBhbiBhZGRpdGlvbmFsIGNvbW1hbmQgdG8gcnVuCistIyAtIGhh dmUgdGhlIHJlc3VsdCB2YXJpYWJsZSB0byBzZXQKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1tYWNybyhH Ul9QWVRIT05fQ0hFQ0tfTU9EVUxFIGRlc2MgbW9kIGNtZCBoYXZlKQorLSAgICBtZXNzYWdlKFNU QVRVUyAiIikKKy0gICAgbWVzc2FnZShTVEFUVVMgIlB5dGhvbiBjaGVja2luZyBmb3IgJHtkZXNj fSIpCistICAgIGV4ZWN1dGVfcHJvY2VzcygKKy0gICAgICAgIENPTU1BTkQgJHtQWVRIT05fRVhF Q1VUQUJMRX0gLWMgIgorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CistdHJ5OgorLSAgICBpbXBvcnQgJHttb2R9CistICAgIGFzc2VydCAke2NtZH0KKy1leGNlcHQg SW1wb3J0RXJyb3IsIEFzc2VydGlvbkVycm9yOiBleGl0KC0xKQorLWV4Y2VwdDogcGFzcworLSMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIgorLSAgICAgICAgUkVTVUxU X1ZBUklBQkxFICR7aGF2ZX0KKy0gICAgKQorLSAgICBpZigke2hhdmV9IEVRVUFMIDApCistICAg ICAgICBtZXNzYWdlKFNUQVRVUyAiUHl0aG9uIGNoZWNraW5nIGZvciAke2Rlc2N9IC0gZm91bmQi KQorLSAgICAgICAgc2V0KCR7aGF2ZX0gVFJVRSkKKy0gICAgZWxzZSgke2hhdmV9IEVRVUFMIDAp CistICAgICAgICBtZXNzYWdlKFNUQVRVUyAiUHl0aG9uIGNoZWNraW5nIGZvciAke2Rlc2N9IC0g bm90IGZvdW5kIikKKy0gICAgICAgIHNldCgke2hhdmV9IEZBTFNFKQorLSAgICBlbmRpZigke2hh dmV9IEVRVUFMIDApCistZW5kbWFjcm8oR1JfUFlUSE9OX0NIRUNLX01PRFVMRSkKKy0KKy0jIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKy0jIFNldHMgdGhlIHB5dGhvbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IEdS X1BZVEhPTl9ESVIKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1pZihOT1QgREVGSU5FRCBHUl9QWVRIT05f RElSKQorLWV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICIK Ky1mcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCistcHJpbnQgc3lzY29uZmlnLmdldF9w eXRob25fbGliKHBsYXRfc3BlY2lmaWM9VHJ1ZSwgcHJlZml4PScnKQorLSIgT1VUUFVUX1ZBUklB QkxFIEdSX1BZVEhPTl9ESVIgT1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UKKy0pCist ZW5kaWYoKQorLWZpbGUoVE9fQ01BS0VfUEFUSCAke0dSX1BZVEhPTl9ESVJ9IEdSX1BZVEhPTl9E SVIpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBDcmVhdGUgYW4gYWx3YXlzLWJ1aWx0IHRhcmdl dCB3aXRoIGEgdW5pcXVlIG5hbWUKKy0jIFVzYWdlOiBHUl9VTklRVUVfVEFSR0VUKDxkZXNjcmlw dGlvbj4gPGRlcGVuZGVuY2llcyBsaXN0PikKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1mdW5jdGlvbihH Ul9VTklRVUVfVEFSR0VUIGRlc2MpCistICAgIGZpbGUoUkVMQVRJVkVfUEFUSCByZWxkaXIgJHtD TUFLRV9CSU5BUllfRElSfSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0pCistICAgIGV4ZWN1 dGVfcHJvY2VzcyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJpbXBvcnQgcmUsIGhh c2hsaWIKKy11bmlxdWUgPSBoYXNobGliLm1kNSgnJHtyZWxkaXJ9JHtBUkdOfScpLmhleGRpZ2Vz dCgpWzo1XQorLXByaW50KHJlLnN1YignXFxXJywgJ18nLCAnJHtkZXNjfSAke3JlbGRpcn0gJyAr IHVuaXF1ZSkpIgorLSAgICBPVVRQVVRfVkFSSUFCTEUgX3RhcmdldCBPVVRQVVRfU1RSSVBfVFJB SUxJTkdfV0hJVEVTUEFDRSkKKy0gICAgYWRkX2N1c3RvbV90YXJnZXQoJHtfdGFyZ2V0fSBBTEwg REVQRU5EUyAke0FSR059KQorLWVuZGZ1bmN0aW9uKEdSX1VOSVFVRV9UQVJHRVQpCistCistIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCistIyBJbnN0YWxsIHB5dGhvbiBzb3VyY2VzIChhbHNvIGJ1aWxkcyBhbmQg aW5zdGFsbHMgYnl0ZS1jb21waWxlZCBweXRob24pCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistZnVuY3Rp b24oR1JfUFlUSE9OX0lOU1RBTEwpCistICAgIGluY2x1ZGUoQ01ha2VQYXJzZUFyZ3VtZW50c0Nv cHkpCistICAgIENNQUtFX1BBUlNFX0FSR1VNRU5UUyhHUl9QWVRIT05fSU5TVEFMTCAiIiAiREVT VElOQVRJT047Q09NUE9ORU5UIiAiRklMRVM7UFJPR1JBTVMiICR7QVJHTn0pCistCistICAgICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCistICAgIGlmKEdSX1BZVEhPTl9JTlNUQUxMX0ZJTEVTKQorLSAgICAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworLSAgICAgICAgaW5zdGFsbCgke0FSR059KSAjaW5zdGFsbHMgcmVndWxhciBweXRob24g ZmlsZXMKKy0KKy0gICAgICAgICNjcmVhdGUgYSBsaXN0IG9mIGFsbCBnZW5lcmF0ZWQgZmlsZXMK Ky0gICAgICAgIHVuc2V0KHB5c3JjZmlsZXMpCistICAgICAgICB1bnNldChweWNmaWxlcykKKy0g ICAgICAgIHVuc2V0KHB5b2ZpbGVzKQorLSAgICAgICAgZm9yZWFjaChweWZpbGUgJHtHUl9QWVRI T05fSU5TVEFMTF9GSUxFU30pCistICAgICAgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChw eWZpbGUgJHtweWZpbGV9IEFCU09MVVRFKQorLSAgICAgICAgICAgIGxpc3QoQVBQRU5EIHB5c3Jj ZmlsZXMgJHtweWZpbGV9KQorLQorLSAgICAgICAgICAgICNkZXRlcm1pbmUgaWYgdGhpcyBmaWxl IGlzIGluIHRoZSBzb3VyY2Ugb3IgYmluYXJ5IGRpcmVjdG9yeQorLSAgICAgICAgICAgIGZpbGUo UkVMQVRJVkVfUEFUSCBzb3VyY2VfcmVsX3BhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9 ICR7cHlmaWxlfSkKKy0gICAgICAgICAgICBzdHJpbmcoTEVOR1RIICIke3NvdXJjZV9yZWxfcGF0 aH0iIHNvdXJjZV9yZWxfcGF0aF9sZW4pCistICAgICAgICAgICAgZmlsZShSRUxBVElWRV9QQVRI IGJpbmFyeV9yZWxfcGF0aCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0gJHtweWZpbGV9KQor LSAgICAgICAgICAgIHN0cmluZyhMRU5HVEggIiR7YmluYXJ5X3JlbF9wYXRofSIgYmluYXJ5X3Jl bF9wYXRoX2xlbikKKy0KKy0gICAgICAgICAgICAjYW5kIHNldCB0aGUgZ2VuZXJhdGVkIHBhdGgg YXBwcm9wcmlhdGVseQorLSAgICAgICAgICAgIGlmKCR7c291cmNlX3JlbF9wYXRoX2xlbn0gR1JF QVRFUiAke2JpbmFyeV9yZWxfcGF0aF9sZW59KQorLSAgICAgICAgICAgICAgICBzZXQocHlnZW5m aWxlICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke2JpbmFyeV9yZWxfcGF0aH0pCistICAg ICAgICAgICAgZWxzZSgpCistICAgICAgICAgICAgICAgIHNldChweWdlbmZpbGUgJHtDTUFLRV9D VVJSRU5UX0JJTkFSWV9ESVJ9LyR7c291cmNlX3JlbF9wYXRofSkKKy0gICAgICAgICAgICBlbmRp ZigpCistICAgICAgICAgICAgbGlzdChBUFBFTkQgcHljZmlsZXMgJHtweWdlbmZpbGV9YykKKy0g ICAgICAgICAgICBsaXN0KEFQUEVORCBweW9maWxlcyAke3B5Z2VuZmlsZX1vKQorLQorLSAgICAg ICAgICAgICNlbnN1cmUgZ2VuZXJhdGlvbiBwYXRoIGV4aXN0cworLSAgICAgICAgICAgIGdldF9m aWxlbmFtZV9jb21wb25lbnQocHlnZW5fcGF0aCAke3B5Z2VuZmlsZX0gUEFUSCkKKy0gICAgICAg ICAgICBmaWxlKE1BS0VfRElSRUNUT1JZICR7cHlnZW5fcGF0aH0pCistCistICAgICAgICBlbmRm b3JlYWNoKHB5ZmlsZSkKKy0KKy0gICAgICAgICN0aGUgY29tbWFuZCB0byBnZW5lcmF0ZSB0aGUg cHljIGZpbGVzCistICAgICAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCistICAgICAgICAgICAgREVQ RU5EUyAke3B5c3JjZmlsZXN9IE9VVFBVVCAke3B5Y2ZpbGVzfQorLSAgICAgICAgICAgIENPTU1B TkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9CSU5BUllfRElSfS9weXRob25fY29tcGls ZV9oZWxwZXIucHkgJHtweXNyY2ZpbGVzfSAke3B5Y2ZpbGVzfQorLSAgICAgICAgKQorLQorLSAg ICAgICAgI3RoZSBjb21tYW5kIHRvIGdlbmVyYXRlIHRoZSBweW8gZmlsZXMKKy0gICAgICAgIGFk ZF9jdXN0b21fY29tbWFuZCgKKy0gICAgICAgICAgICBERVBFTkRTICR7cHlzcmNmaWxlc30gT1VU UFVUICR7cHlvZmlsZXN9CistICAgICAgICAgICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxF fSAtTyAke0NNQUtFX0JJTkFSWV9ESVJ9L3B5dGhvbl9jb21waWxlX2hlbHBlci5weSAke3B5c3Jj ZmlsZXN9ICR7cHlvZmlsZXN9CistICAgICAgICApCistCistICAgICAgICAjY3JlYXRlIGluc3Rh bGwgcnVsZSBhbmQgYWRkIGdlbmVyYXRlZCBmaWxlcyB0byB0YXJnZXQgbGlzdAorLSAgICAgICAg c2V0KHB5dGhvbl9pbnN0YWxsX2dlbl90YXJnZXRzICR7cHljZmlsZXN9ICR7cHlvZmlsZXN9KQor LSAgICAgICAgaW5zdGFsbChGSUxFUyAke3B5dGhvbl9pbnN0YWxsX2dlbl90YXJnZXRzfQorLSAg ICAgICAgICAgIERFU1RJTkFUSU9OICR7R1JfUFlUSE9OX0lOU1RBTExfREVTVElOQVRJT059Cist ICAgICAgICAgICAgQ09NUE9ORU5UICR7R1JfUFlUSE9OX0lOU1RBTExfQ09NUE9ORU5UfQorLSAg ICAgICAgKQorLQorLQorLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSAgICBlbHNlaWYoR1JfUFlUSE9OX0lO U1RBTExfUFJPR1JBTVMpCistICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistICAgICAgICBmaWxlKFRPX05BVElW RV9QQVRIICR7UFlUSE9OX0VYRUNVVEFCTEV9IHB5ZXhlX25hdGl2ZSkKKy0KKy0gICAgICAgIGlm IChDTUFLRV9DUk9TU0NPTVBJTElORykKKy0gICAgICAgICAgIHNldChweWV4ZV9uYXRpdmUgIi91 c3IvYmluL2VudiBweXRob24iKQorLSAgICAgICAgZW5kaWYoKQorLQorLSAgICAgICAgZm9yZWFj aChweWZpbGUgJHtHUl9QWVRIT05fSU5TVEFMTF9QUk9HUkFNU30pCistICAgICAgICAgICAgZ2V0 X2ZpbGVuYW1lX2NvbXBvbmVudChweWZpbGVfbmFtZSAke3B5ZmlsZX0gTkFNRSkKKy0gICAgICAg ICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KHB5ZmlsZSAke3B5ZmlsZX0gQUJTT0xVVEUpCist ICAgICAgICAgICAgc3RyaW5nKFJFUExBQ0UgIiR7Q01BS0VfU09VUkNFX0RJUn0iICIke0NNQUtF X0JJTkFSWV9ESVJ9IiBweWV4ZWZpbGUgIiR7cHlmaWxlfS5leGUiKQorLSAgICAgICAgICAgIGxp c3QoQVBQRU5EIHB5dGhvbl9pbnN0YWxsX2dlbl90YXJnZXRzICR7cHlleGVmaWxlfSkKKy0KKy0g ICAgICAgICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KHB5ZXhlZmlsZV9wYXRoICR7cHlleGVm aWxlfSBQQVRIKQorLSAgICAgICAgICAgIGZpbGUoTUFLRV9ESVJFQ1RPUlkgJHtweWV4ZWZpbGVf cGF0aH0pCistCistICAgICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAorLSAgICAgICAgICAg ICAgICBPVVRQVVQgJHtweWV4ZWZpbGV9IERFUEVORFMgJHtweWZpbGV9CistICAgICAgICAgICAg ICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMKKy0gICAgICAgICAgICAgICAgIm9w ZW4oJyR7cHlleGVmaWxlfScsJ3cnKS53cml0ZSgnXCMhJHtweWV4ZV9uYXRpdmV9XFxuJytvcGVu KCcke3B5ZmlsZX0nKS5yZWFkKCkpIgorLSAgICAgICAgICAgICAgICBDT01NRU5UICJTaGViYW5n aW4gJHtweWZpbGVfbmFtZX0iCistICAgICAgICAgICAgICAgIFZFUkJBVElNCistICAgICAgICAg ICAgKQorLQorLSAgICAgICAgICAgICNvbiB3aW5kb3dzLCBweXRob24gZmlsZXMgbmVlZCBhbiBl eHRlbnNpb24gdG8gZXhlY3V0ZQorLSAgICAgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQo cHlmaWxlX2V4dCAke3B5ZmlsZX0gRVhUKQorLSAgICAgICAgICAgIGlmKFdJTjMyIEFORCBOT1Qg cHlmaWxlX2V4dCkKKy0gICAgICAgICAgICAgICAgc2V0KHB5ZmlsZV9uYW1lICIke3B5ZmlsZV9u YW1lfS5weSIpCistICAgICAgICAgICAgZW5kaWYoKQorLQorLSAgICAgICAgICAgIGluc3RhbGwo UFJPR1JBTVMgJHtweWV4ZWZpbGV9IFJFTkFNRSAke3B5ZmlsZV9uYW1lfQorLSAgICAgICAgICAg ICAgICBERVNUSU5BVElPTiAke0dSX1BZVEhPTl9JTlNUQUxMX0RFU1RJTkFUSU9OfQorLSAgICAg ICAgICAgICAgICBDT01QT05FTlQgJHtHUl9QWVRIT05fSU5TVEFMTF9DT01QT05FTlR9CistICAg ICAgICAgICAgKQorLSAgICAgICAgZW5kZm9yZWFjaChweWZpbGUpCistCistICAgIGVuZGlmKCkK Ky0KKy0gICAgR1JfVU5JUVVFX1RBUkdFVCgicHlnZW4iICR7cHl0aG9uX2luc3RhbGxfZ2VuX3Rh cmdldHN9KQorLQorLWVuZGZ1bmN0aW9uKEdSX1BZVEhPTl9JTlNUQUxMKQorLQorLSMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworLSMgV3JpdGUgdGhlIHB5dGhvbiBoZWxwZXIgc2NyaXB0IHRoYXQgZ2VuZXJhdGVz IGJ5dGUgY29kZSBmaWxlcworLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWZpbGUoV1JJVEUgJHtDTUFLRV9C SU5BUllfRElSfS9weXRob25fY29tcGlsZV9oZWxwZXIucHkgIgorLWltcG9ydCBzeXMsIHB5X2Nv bXBpbGUKKy1maWxlcyA9IHN5cy5hcmd2WzE6XQorLXNyY3MsIGdlbnMgPSBmaWxlc1s6bGVuKGZp bGVzKS8yXSwgZmlsZXNbbGVuKGZpbGVzKS8yOl0KKy1mb3Igc3JjLCBnZW4gaW4gemlwKHNyY3Ms IGdlbnMpOgorLSAgICBweV9jb21waWxlLmNvbXBpbGUoZmlsZT1zcmMsIGNmaWxlPWdlbiwgZG9y YWlzZT1UcnVlKQorLSIpCitkaWZmIC0tZ2l0IGEvY21ha2UvTW9kdWxlcy9HclN3aWcuY21ha2Ug Yi9jbWFrZS9Nb2R1bGVzL0dyU3dpZy5jbWFrZQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCBmOTA3YTUxLi4wMDAwMDAwCistLS0gY21ha2UvTW9kdWxlcy9HclN3aWcuY21ha2UKKysr KyAvZGV2L251bGwKK0BAIC0xLDI0OCArMCwwIEBACistIyBDb3B5cmlnaHQgMjAxMC0yMDExIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLSMKKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IEdOVSBSYWRpbworLSMKKy0jIEdOVSBSYWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLSMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9u KQorLSMgYW55IGxhdGVyIHZlcnNpb24uCistIworLSMgR05VIFJhZGlvIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistIyBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSMgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQor LSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0jCistIyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorLSMgYWxvbmcgd2l0aCBHTlUgUmFkaW87IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAg SWYgbm90LCB3cml0ZSB0bworLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg NTEgRnJhbmtsaW4gU3RyZWV0LAorLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCistCist aWYoREVGSU5FRCBfX0lOQ0xVREVEX0dSX1NXSUdfQ01BS0UpCistICAgIHJldHVybigpCistZW5k aWYoKQorLXNldChfX0lOQ0xVREVEX0dSX1NXSUdfQ01BS0UgVFJVRSkKKy0KKy1pbmNsdWRlKEdy UHl0aG9uKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgQnVpbGRzIGEgc3dpZyBkb2N1bWVudGF0 aW9uIGZpbGUgdG8gYmUgZ2VuZXJhdGVkIGludG8gcHl0aG9uIGRvY3N0cmluZ3MKKy0jIFVzYWdl OiBHUl9TV0lHX01BS0VfRE9DUyhvdXRwdXRfZmlsZSBpbnB1dF9wYXRoIGlucHV0X3BhdGguLi4u KQorLSMKKy0jIFNldCB0aGUgZm9sbG93aW5nIHZhcmlhYmxlIHRvIHNwZWNpZnkgZXh0cmEgZGVw ZW5kZW50IHRhcmdldHM6CistIyAgIC0gR1JfU1dJR19ET0NTX1NPVVJDRV9ERVBTCistIyAgIC0g R1JfU1dJR19ET0NTX1RBUkdFVF9ERVBTCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistZnVuY3Rpb24oR1Jf U1dJR19NQUtFX0RPQ1Mgb3V0cHV0X2ZpbGUpCistICAgIGlmKEVOQUJMRV9ET1hZR0VOKQorLQor LSAgICAgICAgI3NldHVwIHRoZSBpbnB1dCBmaWxlcyB2YXJpYWJsZSBsaXN0LCBxdW90ZSBmb3Jt YXRlZAorLSAgICAgICAgc2V0KGlucHV0X2ZpbGVzKQorLSAgICAgICAgdW5zZXQoSU5QVVRfUEFU SFMpCistICAgICAgICBmb3JlYWNoKGlucHV0X3BhdGggJHtBUkdOfSkKKy0gICAgICAgICAgICBp ZiAoSVNfRElSRUNUT1JZICR7aW5wdXRfcGF0aH0pICN3aGVuIGlucHV0IHBhdGggaXMgYSBkaXJl Y3RvcnkKKy0gICAgICAgICAgICAgICAgZmlsZShHTE9CIGlucHV0X3BhdGhfaF9maWxlcyAke2lu cHV0X3BhdGh9LyouaCkKKy0gICAgICAgICAgICBlbHNlKCkgI290aGVyd2lzZSBpdHMganVzdCBh IGZpbGUsIG5vIGdsb2IKKy0gICAgICAgICAgICAgICAgc2V0KGlucHV0X3BhdGhfaF9maWxlcyAk e2lucHV0X3BhdGh9KQorLSAgICAgICAgICAgIGVuZGlmKCkKKy0gICAgICAgICAgICBsaXN0KEFQ UEVORCBpbnB1dF9maWxlcyAke2lucHV0X3BhdGhfaF9maWxlc30pCistICAgICAgICAgICAgc2V0 KElOUFVUX1BBVEhTICIke0lOUFVUX1BBVEhTfSBcIiR7aW5wdXRfcGF0aH1cIiIpCistICAgICAg ICBlbmRmb3JlYWNoKGlucHV0X3BhdGgpCistCistICAgICAgICAjZGV0ZXJtaW5lIHRoZSBvdXRw dXQgZGlyZWN0b3J5CistICAgICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KG5hbWUgJHtvdXRw dXRfZmlsZX0gTkFNRV9XRSkKKy0gICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQoT1VUUFVU X0RJUkVDVE9SWSAke291dHB1dF9maWxlfSBQQVRIKQorLSAgICAgICAgc2V0KE9VVFBVVF9ESVJF Q1RPUlkgJHtPVVRQVVRfRElSRUNUT1JZfS8ke25hbWV9X3N3aWdfZG9jcykKKy0gICAgICAgIG1h a2VfZGlyZWN0b3J5KCR7T1VUUFVUX0RJUkVDVE9SWX0pCistCistICAgICAgICAjZ2VuZXJhdGUg dGhlIERveHlmaWxlIHVzZWQgYnkgZG94eWdlbgorLSAgICAgICAgY29uZmlndXJlX2ZpbGUoCist ICAgICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9kb2NzL2RveHlnZW4vRG94eWZpbGUuc3dp Z19kb2MuaW4KKy0gICAgICAgICAgICAke09VVFBVVF9ESVJFQ1RPUll9L0RveHlmaWxlCistICAg ICAgICBAT05MWSkKKy0KKy0gICAgICAgICNDcmVhdGUgYSBkdW1teSBjdXN0b20gY29tbWFuZCB0 aGF0IGRlcGVuZHMgb24gb3RoZXIgdGFyZ2V0cworLSAgICAgICAgaW5jbHVkZShHck1pc2NVdGls cykKKy0gICAgICAgIEdSX0dFTl9UQVJHRVRfREVQUyhfJHtuYW1lfV90YWcgdGFnX2RlcHMgJHtH Ul9TV0lHX0RPQ1NfVEFSR0VUX0RFUFN9KQorLQorLSAgICAgICAgI2NhbGwgZG94eWdlbiBvbiB0 aGUgRG94eWZpbGUgKyBpbnB1dCBoZWFkZXJzCistICAgICAgICBhZGRfY3VzdG9tX2NvbW1hbmQo CistICAgICAgICAgICAgT1VUUFVUICR7T1VUUFVUX0RJUkVDVE9SWX0veG1sL2luZGV4LnhtbAor LSAgICAgICAgICAgIERFUEVORFMgJHtpbnB1dF9maWxlc30gJHtHUl9TV0lHX0RPQ1NfU09VUkNF X0RFUFN9ICR7dGFnX2RlcHN9CistICAgICAgICAgICAgQ09NTUFORCAke0RPWFlHRU5fRVhFQ1VU QUJMRX0gJHtPVVRQVVRfRElSRUNUT1JZfS9Eb3h5ZmlsZQorLSAgICAgICAgICAgIENPTU1FTlQg IkdlbmVyYXRpbmcgZG94eWdlbiB4bWwgZm9yICR7bmFtZX0gZG9jcyIKKy0gICAgICAgICkKKy0K Ky0gICAgICAgICNjYWxsIHRoZSBzd2lnX2RvYyBzY3JpcHQgb24gdGhlIHhtbCBmaWxlcworLSAg ICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAorLSAgICAgICAgICAgIE9VVFBVVCAke291dHB1dF9m aWxlfQorLSAgICAgICAgICAgIERFUEVORFMgJHtpbnB1dF9maWxlc30gJHtzdGFtcC1maWxlfSAk e09VVFBVVF9ESVJFQ1RPUll9L3htbC9pbmRleC54bWwKKy0gICAgICAgICAgICBDT01NQU5EICR7 UFlUSE9OX0VYRUNVVEFCTEV9ICR7UFlUSE9OX0RBU0hfQn0KKy0gICAgICAgICAgICAgICAgJHtD TUFLRV9TT1VSQ0VfRElSfS9kb2NzL2RveHlnZW4vc3dpZ19kb2MucHkKKy0gICAgICAgICAgICAg ICAgJHtPVVRQVVRfRElSRUNUT1JZfS94bWwKKy0gICAgICAgICAgICAgICAgJHtvdXRwdXRfZmls ZX0KKy0gICAgICAgICAgICBDT01NRU5UICJHZW5lcmF0aW5nIHB5dGhvbiBkb2NzdHJpbmdzIGZv ciAke25hbWV9IgorLSAgICAgICAgICAgIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfU09VUkNF X0RJUn0vZG9jcy9kb3h5Z2VuCistICAgICAgICApCistCistICAgIGVsc2UoRU5BQkxFX0RPWFlH RU4pCistICAgICAgICBmaWxlKFdSSVRFICR7b3V0cHV0X2ZpbGV9ICJcbiIpICNubyBkb3h5Z2Vu IC0+IGVtcHR5IGZpbGUKKy0gICAgZW5kaWYoRU5BQkxFX0RPWFlHRU4pCistZW5kZnVuY3Rpb24o R1JfU1dJR19NQUtFX0RPQ1MpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBCdWlsZCBhIHN3aWcg dGFyZ2V0IGZvciB0aGUgY29tbW9uIGdudXJhZGlvIHVzZSBjYXNlLiBVc2FnZToKKy0jIEdSX1NX SUdfTUFLRSh0YXJnZXQgaWZpbGUgaWZpbGUgaWZpbGUuLi4pCistIworLSMgU2V0IHRoZSBmb2xs b3dpbmcgdmFyaWFibGVzIGJlZm9yZSBjYWxsaW5nOgorLSMgICAtIEdSX1NXSUdfRkxBR1MKKy0j ICAgLSBHUl9TV0lHX0lOQ0xVREVfRElSUworLSMgICAtIEdSX1NXSUdfTElCUkFSSUVTCistIyAg IC0gR1JfU1dJR19TT1VSQ0VfREVQUworLSMgICAtIEdSX1NXSUdfVEFSR0VUX0RFUFMKKy0jICAg LSBHUl9TV0lHX0RPQ19GSUxFCistIyAgIC0gR1JfU1dJR19ET0NfRElSUworLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworLW1hY3JvKEdSX1NXSUdfTUFLRSBuYW1lKQorLSAgICBzZXQoaWZpbGVzICR7QVJHTn0p CistCistICAgICMgU2hpbW1pbmcgdGhpcyBpbiBoZXJlIHRvIHRha2UgY2FyZSBvZiBhIFNXSUcg YnVnIHdpdGggaGFuZGxpbmcKKy0gICAgIyB2ZWN0b3I8c2l6ZV90PiBhbmQgdmVjdG9yPHVuc2ln bmVkIGludD4gKG9uIDMyLWJpdCBtYWNoaW5lcykgYW5kCistICAgICMgdmVjdG9yPGxvbmcgdW5z aWduZWQgaW50PiAob24gNjQtYml0IG1hY2hpbmVzKS4gVXNlIHRoaXMgdG8gdGVzdAorLSAgICAj IHRoZSBzaXplIG9mIHNpemVfdCwgdGhlbiBzZXQgU0laRV9UXzMyIGlmIGl0J3MgYSAzMi1iaXQg bWFjaGluZQorLSAgICAjIG9yIG5vdCBpZiBpdCdzIDY0LWJpdC4gVGhlIGxvZ2ljIGluIGdyX3R5 cGUuaSBoYW5kbGVzIHRoZSByZXN0LgorLSAgICBJTkNMVURFIChDaGVja1R5cGVTaXplKQorLSAg ICBDSEVDS19UWVBFX1NJWkUoInNpemVfdCIgU0laRU9GX1NJWkVfVCkKKy0gICAgQ0hFQ0tfVFlQ RV9TSVpFKCJ1bnNpZ25lZCBpbnQiIFNJWkVPRl9VSU5UKQorLSAgICBpZigke1NJWkVPRl9TSVpF X1R9IEVRVUFMICR7U0laRU9GX1VJTlR9KQorLSAgICAgIGxpc3QoQVBQRU5EIEdSX1NXSUdfRkxB R1MgLURTSVpFX1RfMzIpCistICAgIGVuZGlmKCR7U0laRU9GX1NJWkVfVH0gRVFVQUwgJHtTSVpF T0ZfVUlOVH0pCistCistICAgICNkbyBzd2lnIGRvYyBnZW5lcmF0aW9uIGlmIHNwZWNpZmllZAor LSAgICBpZiAoR1JfU1dJR19ET0NfRklMRSkKKy0gICAgICAgIHNldChHUl9TV0lHX0RPQ1NfU09V UkNFX0RFUFMgJHtHUl9TV0lHX1NPVVJDRV9ERVBTfSkKKy0gICAgICAgIGxpc3QoQVBQRU5EIEdS X1NXSUdfRE9DU19UQVJHRVRfREVQUyAke0dSX1NXSUdfVEFSR0VUX0RFUFN9KQorLSAgICAgICAg R1JfU1dJR19NQUtFX0RPQ1MoJHtHUl9TV0lHX0RPQ19GSUxFfSAke0dSX1NXSUdfRE9DX0RJUlN9 KQorLSAgICAgICAgYWRkX2N1c3RvbV90YXJnZXQoJHtuYW1lfV9zd2lnX2RvYyBERVBFTkRTICR7 R1JfU1dJR19ET0NfRklMRX0pCistICAgICAgICBsaXN0KEFQUEVORCBHUl9TV0lHX1RBUkdFVF9E RVBTICR7bmFtZX1fc3dpZ19kb2MgJHtHUl9SVU5USU1FX1NXSUdfRE9DX0ZJTEV9KQorLSAgICBl bmRpZigpCistCistICAgICNhcHBlbmQgYWRkaXRpb25hbCBpbmNsdWRlIGRpcmVjdG9yaWVzCist ICAgIGZpbmRfcGFja2FnZShQeXRob25MaWJzIDIpCistICAgIGxpc3QoQVBQRU5EIEdSX1NXSUdf SU5DTFVERV9ESVJTICR7UFlUSE9OX0lOQ0xVREVfUEFUSH0pICNkZXByZWNhdGVkIG5hbWUgKG5v dyBkaXJzKQorLSAgICBsaXN0KEFQUEVORCBHUl9TV0lHX0lOQ0xVREVfRElSUyAke1BZVEhPTl9J TkNMVURFX0RJUlN9KQorLQorLSAgICAjcHJlcGVuZCBsb2NhbCBzd2lnIGRpcmVjdG9yaWVzCist ICAgIGxpc3QoSU5TRVJUIEdSX1NXSUdfSU5DTFVERV9ESVJTIDAgJHtDTUFLRV9DVVJSRU5UX1NP VVJDRV9ESVJ9KQorLSAgICBsaXN0KElOU0VSVCBHUl9TV0lHX0lOQ0xVREVfRElSUyAwICR7Q01B S0VfQ1VSUkVOVF9CSU5BUllfRElSfSkKKy0KKy0gICAgI2RldGVybWluZSBpbmNsdWRlIGRlcGVu ZGVuY2llcyBmb3Igc3dpZyBmaWxlCistICAgIGV4ZWN1dGVfcHJvY2VzcygKKy0gICAgICAgIENP TU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0KKy0gICAgICAgICAgICAke0NNQUtFX0JJTkFSWV9E SVJ9L2dldF9zd2lnX2RlcHMucHkKKy0gICAgICAgICAgICAiJHtpZmlsZXN9IiAiJHtHUl9TV0lH X0lOQ0xVREVfRElSU30iCistICAgICAgICBPVVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJVEVTUEFD RQorLSAgICAgICAgT1VUUFVUX1ZBUklBQkxFIFNXSUdfTU9EVUxFXyR7bmFtZX1fRVhUUkFfREVQ UworLSAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9 CistICAgICkKKy0KKy0gICAgI0NyZWF0ZSBhIGR1bW15IGN1c3RvbSBjb21tYW5kIHRoYXQgZGVw ZW5kcyBvbiBvdGhlciB0YXJnZXRzCistICAgIGluY2x1ZGUoR3JNaXNjVXRpbHMpCistICAgIEdS X0dFTl9UQVJHRVRfREVQUyhfJHtuYW1lfV9zd2lnX3RhZyB0YWdfZGVwcyAke0dSX1NXSUdfVEFS R0VUX0RFUFN9KQorLSAgICBzZXQodGFnX2ZpbGUgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9 LyR7bmFtZX0udGFnKQorLSAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCistICAgICAgICBPVVRQVVQg JHt0YWdfZmlsZX0KKy0gICAgICAgIERFUEVORFMgJHtHUl9TV0lHX1NPVVJDRV9ERVBTfSAke3Rh Z19kZXBzfQorLSAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIHRvdWNoICR7dGFn X2ZpbGV9CistICAgICkKKy0KKy0gICAgI2FwcGVuZCB0aGUgc3BlY2lmaWVkIGluY2x1ZGUgZGly ZWN0b3JpZXMKKy0gICAgaW5jbHVkZV9kaXJlY3Rvcmllcygke0dSX1NXSUdfSU5DTFVERV9ESVJT fSkKKy0gICAgbGlzdChBUFBFTkQgU1dJR19NT0RVTEVfJHtuYW1lfV9FWFRSQV9ERVBTICR7dGFn X2ZpbGV9KQorLQorLSAgICAjc2V0dXAgdGhlIHN3aWcgZmxhZ3Mgd2l0aCBmbGFncyBhbmQgaW5j bHVkZSBkaXJlY3RvcmllcworLSAgICBzZXQoQ01BS0VfU1dJR19GTEFHUyAtZnZpcnR1YWwgLW1v ZGVybiAta2V5d29yZCAtdzUxMSAtbW9kdWxlICR7bmFtZX0gJHtHUl9TV0lHX0ZMQUdTfSkKKy0g ICAgZm9yZWFjaChkaXIgJHtHUl9TV0lHX0lOQ0xVREVfRElSU30pCistICAgICAgICBsaXN0KEFQ UEVORCBDTUFLRV9TV0lHX0ZMQUdTICItSSR7ZGlyfSIpCistICAgIGVuZGZvcmVhY2goZGlyKQor LQorLSAgICAjc2V0IHRoZSBDKysgcHJvcGVydHkgb24gdGhlIHN3aWcgLmkgZmlsZSBzbyBpdCBi dWlsZHMKKy0gICAgc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7aWZpbGVzfSBQUk9QRVJU SUVTIENQTFVTUExVUyBPTikKKy0KKy0gICAgI3NldHVwIHRoZSBhY3R1YWwgc3dpZyBsaWJyYXJ5 IHRhcmdldCB0byBiZSBidWlsdAorLSAgICBpbmNsdWRlKFVzZVNXSUcpCistICAgIFNXSUdfQURE X01PRFVMRSgke25hbWV9IHB5dGhvbiAke2lmaWxlc30pCistICAgIFNXSUdfTElOS19MSUJSQVJJ RVMoJHtuYW1lfSAke1BZVEhPTl9MSUJSQVJJRVN9ICR7R1JfU1dJR19MSUJSQVJJRVN9KQorLQor LWVuZG1hY3JvKEdSX1NXSUdfTUFLRSkKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIEluc3RhbGwg c3dpZyB0YXJnZXRzIGdlbmVyYXRlZCBieSBHUl9TV0lHX01BS0UuIFVzYWdlOgorLSMgR1JfU1dJ R19JTlNUQUxMKAorLSMgICBUQVJHRVRTIHRhcmdldCB0YXJnZXQgdGFyZ2V0Li4uCistIyAgIFtE RVNUSU5BVElPTiBkZXN0aW5hdGlvbl0KKy0jICAgW0NPTVBPTkVOVCBjb21wb25lbnRdCistIyAp CistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCistbWFjcm8oR1JfU1dJR19JTlNUQUxMKQorLQorLSAgICBpbmNs dWRlKENNYWtlUGFyc2VBcmd1bWVudHNDb3B5KQorLSAgICBDTUFLRV9QQVJTRV9BUkdVTUVOVFMo R1JfU1dJR19JTlNUQUxMICIiICJERVNUSU5BVElPTjtDT01QT05FTlQiICJUQVJHRVRTIiAke0FS R059KQorLQorLSAgICBmb3JlYWNoKG5hbWUgJHtHUl9TV0lHX0lOU1RBTExfVEFSR0VUU30pCist ICAgICAgICBpbnN0YWxsKFRBUkdFVFMgJHtTV0lHX01PRFVMRV8ke25hbWV9X1JFQUxfTkFNRX0K Ky0gICAgICAgICAgICBERVNUSU5BVElPTiAke0dSX1NXSUdfSU5TVEFMTF9ERVNUSU5BVElPTn0K Ky0gICAgICAgICAgICBDT01QT05FTlQgJHtHUl9TV0lHX0lOU1RBTExfQ09NUE9ORU5UfQorLSAg ICAgICAgKQorLQorLSAgICAgICAgaW5jbHVkZShHclB5dGhvbikKKy0gICAgICAgIEdSX1BZVEhP Tl9JTlNUQUxMKEZJTEVTICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke25hbWV9LnB5Cist ICAgICAgICAgICAgREVTVElOQVRJT04gJHtHUl9TV0lHX0lOU1RBTExfREVTVElOQVRJT059Cist ICAgICAgICAgICAgQ09NUE9ORU5UICR7R1JfU1dJR19JTlNUQUxMX0NPTVBPTkVOVH0KKy0gICAg ICAgICkKKy0KKy0gICAgICAgIEdSX0xJQlRPT0woCistICAgICAgICAgICAgVEFSR0VUICR7U1dJ R19NT0RVTEVfJHtuYW1lfV9SRUFMX05BTUV9CistICAgICAgICAgICAgREVTVElOQVRJT04gJHtH Ul9TV0lHX0lOU1RBTExfREVTVElOQVRJT059CistICAgICAgICApCistCistICAgIGVuZGZvcmVh Y2gobmFtZSkKKy0KKy1lbmRtYWNybyhHUl9TV0lHX0lOU1RBTEwpCistCistIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCistIyBHZW5lcmF0ZSBhIHB5dGhvbiBmaWxlIHRoYXQgY2FuIGRldGVybWluZSBzd2lnIGRl cGVuZGVuY2llcy4KKy0jIFVzZWQgYnkgdGhlIG1ha2UgbWFjcm8gYWJvdmUgdG8gZGV0ZXJtaW5l IGV4dHJhIGRlcGVuZGVuY2llcy4KKy0jIFdoZW4geW91IGJ1aWxkIEMrKywgQ01ha2UgZmlndXJl cyBvdXQgdGhlIGhlYWRlciBkZXBlbmRlbmNpZXMuCistIyBUaGlzIGNvZGUgZXNzZW50aWFsbHkg cGVyZm9ybXMgdGhhdCBsb2dpYyBmb3Igc3dpZyBpbmNsdWRlcy4KKy0jIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK Ky1maWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJUn0vZ2V0X3N3aWdfZGVwcy5weSAiCistCist aW1wb3J0IG9zLCBzeXMsIHJlCistCistaV9pbmNsdWRlX21hdGNoZXIgPSByZS5jb21waWxlKCcl KGluY2x1ZGV8aW1wb3J0KVxccypbPHxcIl0oLiopWz58XCJdJykKKy1oX2luY2x1ZGVfbWF0Y2hl ciA9IHJlLmNvbXBpbGUoJyMoaW5jbHVkZSlcXHMqWzx8XCJdKC4qKVs+fFwiXScpCistaW5jbHVk ZV9kaXJzID0gc3lzLmFyZ3ZbMl0uc3BsaXQoJzsnKQorLQorLWRlZiBnZXRfc3dpZ19pbmNzKGZp bGVfcGF0aCk6CistICAgIGlmIGZpbGVfcGF0aC5lbmRzd2l0aCgnLmknKTogbWF0Y2hlciA9IGlf aW5jbHVkZV9tYXRjaGVyCistICAgIGVsc2U6IG1hdGNoZXIgPSBoX2luY2x1ZGVfbWF0Y2hlcgor LSAgICBmaWxlX2NvbnRlbnRzID0gb3BlbihmaWxlX3BhdGgsICdyJykucmVhZCgpCistICAgIHJl dHVybiBtYXRjaGVyLmZpbmRhbGwoZmlsZV9jb250ZW50cywgcmUuTVVMVElMSU5FKQorLQorLWRl ZiBnZXRfc3dpZ19kZXBzKGZpbGVfcGF0aCwgbGV2ZWwpOgorLSAgICBkZXBzID0gW2ZpbGVfcGF0 aF0KKy0gICAgaWYgbGV2ZWwgPT0gMDogcmV0dXJuIGRlcHMKKy0gICAgZm9yIGtleXdvcmQsIGlu Y19maWxlIGluIGdldF9zd2lnX2luY3MoZmlsZV9wYXRoKToKKy0gICAgICAgIGZvciBpbmNfZGly IGluIGluY2x1ZGVfZGlyczoKKy0gICAgICAgICAgICBpbmNfcGF0aCA9IG9zLnBhdGguam9pbihp bmNfZGlyLCBpbmNfZmlsZSkKKy0gICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoaW5j X3BhdGgpOiBjb250aW51ZQorLSAgICAgICAgICAgIGRlcHMuZXh0ZW5kKGdldF9zd2lnX2RlcHMo aW5jX3BhdGgsIGxldmVsLTEpKQorLSAgICAgICAgICAgIGJyZWFrICNmb3VuZCwgd2UgZG9udCBz ZWFyY2ggaW4gbG93ZXIgcHJpbyBpbmMgZGlycworLSAgICByZXR1cm4gZGVwcworLQorLWlmIF9f bmFtZV9fID09ICdfX21haW5fXyc6CistICAgIGlmaWxlcyA9IHN5cy5hcmd2WzFdLnNwbGl0KCc7 JykKKy0gICAgZGVwcyA9IHN1bShbZ2V0X3N3aWdfZGVwcyhpZmlsZSwgMykgZm9yIGlmaWxlIGlu IGlmaWxlc10sIFtdKQorLSAgICAjc3lzLnN0ZGVyci53cml0ZSgnOycuam9pbihzZXQoZGVwcykp ICsgJ1xcblxcbicpCistICAgIHByaW50KCc7Jy5qb2luKHNldChkZXBzKSkpCistIikKK2RpZmYg LS1naXQgYS9jbWFrZS9Nb2R1bGVzL0dyVGVzdC5jbWFrZSBiL2NtYWtlL01vZHVsZXMvR3JUZXN0 LmNtYWtlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDYyY2FhYjQuLjAwMDAwMDAK Ky0tLSBjbWFrZS9Nb2R1bGVzL0dyVGVzdC5jbWFrZQorKysrIC9kZXYvbnVsbAorQEAgLTEsMTQz ICswLDAgQEAKKy0jIENvcHlyaWdodCAyMDEwLTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCistIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCistIworLSMgR05V IFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKy0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCistIyBhbnkgbGF0ZXIgdmVyc2lv bi4KKy0jCistIyBHTlUgUmFkaW8gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistIyBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSMKKy0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistIyBhbG9uZyB3aXRo IEdOVSBSYWRpbzsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvCistIyB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsCist IyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKy0KKy1pZihERUZJTkVEIF9fSU5DTFVERURf R1JfVEVTVF9DTUFLRSkKKy0gICAgcmV0dXJuKCkKKy1lbmRpZigpCistc2V0KF9fSU5DTFVERURf R1JfVEVTVF9DTUFLRSBUUlVFKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgQWRkIGEgdW5pdCB0 ZXN0IGFuZCBzZXR1cCB0aGUgZW52aXJvbm1lbnQgZm9yIGEgdW5pdCB0ZXN0LgorLSMgVGFrZXMg dGhlIHNhbWUgYXJndW1lbnRzIGFzIHRoZSBBRERfVEVTVCBmdW5jdGlvbi4KKy0jCistIyBCZWZv cmUgY2FsbGluZyBzZXQgdGhlIGZvbGxvd2luZyB2YXJpYWJsZXM6CistIyBHUl9URVNUX1RBUkdF VF9ERVBTICAtIGJ1aWx0IHRhcmdldHMgZm9yIHRoZSBsaWJyYXJ5IHBhdGgKKy0jIEdSX1RFU1Rf TElCUkFSWV9ESVJTIC0gZGlyZWN0b3JpZXMgZm9yIHRoZSBsaWJyYXJ5IHBhdGgKKy0jIEdSX1RF U1RfUFlUSE9OX0RJUlMgIC0gZGlyZWN0b3JpZXMgZm9yIHRoZSBweXRob24gcGF0aAorLSMgR1Jf VEVTVF9FTlZJUk9OUyAgLSBvdGhlciBlbnZpcm9ubWVudCBrZXkvdmFsdWUgcGFpcnMKKy0jIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKy1mdW5jdGlvbihHUl9BRERfVEVTVCB0ZXN0X25hbWUpCistCistICAgICAg ICAjRW5zdXJlIHRoYXQgdGhlIGJ1aWxkIGV4ZSBhbHNvIGFwcGVhcnMgaW4gdGhlIFBBVEguCist ICAgICAgICBsaXN0KEFQUEVORCBHUl9URVNUX1RBUkdFVF9ERVBTICR7QVJHTn0pCistCistICAg ICAgICAjSW4gdGhlIGxhbmQgb2Ygd2luZG93cywgYWxsIGxpYnJhcmllcyBtdXN0IGJlIGluIHRo ZSBQQVRILgorLSAgICAgICAgI1NpbmNlIHRoZSBkZXBlbmRlbnQgbGlicmFyaWVzIGFyZSBub3Qg eWV0IGluc3RhbGxlZCwKKy0gICAgICAgICN3ZSBtdXN0IG1hbnVhbGx5IHNldCB0aGVtIGluIHRo ZSBQQVRIIHRvIHJ1biB0ZXN0cy4KKy0gICAgICAgICNUaGUgZm9sbG93aW5nIGFwcGVuZHMgdGhl IHBhdGggb2YgYSB0YXJnZXQgZGVwZW5kZW5jeS4KKy0gICAgICAgIGZvcmVhY2godGFyZ2V0ICR7 R1JfVEVTVF9UQVJHRVRfREVQU30pCistICAgICAgICAgICAgZ2V0X3RhcmdldF9wcm9wZXJ0eShs b2NhdGlvbiAke3RhcmdldH0gTE9DQVRJT04pCistICAgICAgICAgICAgaWYobG9jYXRpb24pCist ICAgICAgICAgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQocGF0aCAke2xvY2F0aW9ufSBQ QVRIKQorLSAgICAgICAgICAgICAgICBzdHJpbmcoUkVHRVggUkVQTEFDRSAiXFwkXFwoLipcXCki ICR7Q01BS0VfQlVJTERfVFlQRX0gcGF0aCAke3BhdGh9KQorLSAgICAgICAgICAgICAgICBsaXN0 KEFQUEVORCBHUl9URVNUX0xJQlJBUllfRElSUyAke3BhdGh9KQorLSAgICAgICAgICAgIGVuZGlm KGxvY2F0aW9uKQorLSAgICAgICAgZW5kZm9yZWFjaCh0YXJnZXQpCistCistICAgIGlmKFdJTjMy KQorLSAgICAgICAgI1NXSUcgZ2VuZXJhdGVzIHRoZSBweXRob24gbGlicmFyeSBmaWxlcyBpbnRv IGEgc3ViZGlyZWN0b3J5LgorLSAgICAgICAgI1RoZXJlZm9yZSwgd2UgbXVzdCBhcHBlbmQgdGhp cyBzdWJkaXJlY3RvcnkgaW50byBQWVRIT05QQVRILgorLSAgICAgICAgI09ubHkgZG8gdGhpcyBm b3IgdGhlIHB5dGhvbiBkaXJlY3RvcmllcyBtYXRjaGluZyB0aGUgZm9sbG93aW5nOgorLSAgICAg ICAgZm9yZWFjaChweWRpciAke0dSX1RFU1RfUFlUSE9OX0RJUlN9KQorLSAgICAgICAgICAgIGdl dF9maWxlbmFtZV9jb21wb25lbnQobmFtZSAke3B5ZGlyfSBOQU1FKQorLSAgICAgICAgICAgIGlm KG5hbWUgTUFUQ0hFUyAiXihzd2lnfGxpYnxzcmMpJCIpCistICAgICAgICAgICAgICAgIGxpc3Qo QVBQRU5EIEdSX1RFU1RfUFlUSE9OX0RJUlMgJHtweWRpcn0vJHtDTUFLRV9CVUlMRF9UWVBFfSkK Ky0gICAgICAgICAgICBlbmRpZigpCistICAgICAgICBlbmRmb3JlYWNoKHB5ZGlyKQorLSAgICBl bmRpZihXSU4zMikKKy0KKy0gICAgZmlsZShUT19OQVRJVkVfUEFUSCAke0NNQUtFX0NVUlJFTlRf U09VUkNFX0RJUn0gc3JjZGlyKQorLSAgICBmaWxlKFRPX05BVElWRV9QQVRIICIke0dSX1RFU1Rf TElCUkFSWV9ESVJTfSIgbGlicGF0aCkgI29rIHRvIHVzZSBvbiBkaXIgbGlzdD8KKy0gICAgZmls ZShUT19OQVRJVkVfUEFUSCAiJHtHUl9URVNUX1BZVEhPTl9ESVJTfSIgcHlwYXRoKSAjb2sgdG8g dXNlIG9uIGRpciBsaXN0PworLQorLSAgICBzZXQoZW52aXJvbnMgIlZPTEtfR0VORVJJQz0xIiAi R1JfRE9OVF9MT0FEX1BSRUZTPTEiICJzcmNkaXI9JHtzcmNkaXJ9IikKKy0gICAgbGlzdChBUFBF TkQgZW52aXJvbnMgJHtHUl9URVNUX0VOVklST05TfSkKKy0KKy0gICAgI2h0dHA6Ly93d3cuY21h a2Uub3JnL3BpcGVybWFpbC9jbWFrZS8yMDA5LU1heS8wMjk0NjQuaHRtbAorLSAgICAjUmVwbGFj ZWQgdGhpcyBhZGQgdGVzdCArIHNldCBlbnZpcm9ucyBjb2RlIHdpdGggdGhlIHNoZWxsIHNjcmlw dCBnZW5lcmF0aW9uLgorLSAgICAjSXRzIG5pY2VyIHRvIGJlIGFibGUgdG8gbWFudWFsbHkgcnVu IHRoZSBzaGVsbCBzY3JpcHQgdG8gZGlhZ25vc2UgcHJvYmxlbXMuCistICAgICNBRERfVEVTVCgk e0FSR1Z9KQorLSAgICAjU0VUX1RFU1RTX1BST1BFUlRJRVMoJHt0ZXN0X25hbWV9IFBST1BFUlRJ RVMgRU5WSVJPTk1FTlQgIiR7ZW52aXJvbnN9IikKKy0KKy0gICAgaWYoVU5JWCkKKy0gICAgICAg IHNldChMRF9QQVRIX1ZBUiAiTERfTElCUkFSWV9QQVRIIikKKy0gICAgICAgIGlmKEFQUExFKQor LSAgICAgICAgICAgIHNldChMRF9QQVRIX1ZBUiAiRFlMRF9MSUJSQVJZX1BBVEgiKQorLSAgICAg ICAgZW5kaWYoKQorLQorLSAgICAgICAgc2V0KGJpbnBhdGggIiR7Q01BS0VfQ1VSUkVOVF9CSU5B UllfRElSfTokUEFUSCIpCistICAgICAgICBsaXN0KEFQUEVORCBsaWJwYXRoICIkJHtMRF9QQVRI X1ZBUn0iKQorLSAgICAgICAgbGlzdChBUFBFTkQgcHlwYXRoICIkUFlUSE9OUEFUSCIpCistCist ICAgICAgICAjcmVwbGFjZSBsaXN0IHNlcGFyYXRvciB3aXRoIHRoZSBwYXRoIHNlcGFyYXRvcgor LSAgICAgICAgc3RyaW5nKFJFUExBQ0UgIjsiICI6IiBsaWJwYXRoICIke2xpYnBhdGh9IikKKy0g ICAgICAgIHN0cmluZyhSRVBMQUNFICI7IiAiOiIgcHlwYXRoICIke3B5cGF0aH0iKQorLSAgICAg ICAgbGlzdChBUFBFTkQgZW52aXJvbnMgIlBBVEg9JHtiaW5wYXRofSIgIiR7TERfUEFUSF9WQVJ9 PSR7bGlicGF0aH0iICJQWVRIT05QQVRIPSR7cHlwYXRofSIpCistCistICAgICAgICAjZ2VuZXJh dGUgYSBiYXQgZmlsZSB0aGF0IHNldHMgdGhlIGVudmlyb25tZW50IGFuZCBydW5zIHRoZSB0ZXN0 CistCWlmIChDTUFLRV9DUk9TU0NPTVBJTElORykKKy0gICAgICAgICAgICAgICAgc2V0KFNIRUxM ICIvYmluL3NoIikKKy0gICAgICAgIGVsc2UoQ01BS0VfQ1JPU1NDT01QSUxJTkcpCistICAgICAg ICAgICAgICAgIGZpbmRfcHJvZ3JhbShTSEVMTCBzaCkKKy0gICAgICAgIGVuZGlmKENNQUtFX0NS T1NTQ09NUElMSU5HKQorLSAgICAgICAgc2V0KHNoX2ZpbGUgJHtDTUFLRV9DVVJSRU5UX0JJTkFS WV9ESVJ9LyR7dGVzdF9uYW1lfV90ZXN0LnNoKQorLSAgICAgICAgZmlsZShXUklURSAke3NoX2Zp bGV9ICIjISR7U0hFTEx9XG4iKQorLSAgICAgICAgI2VhY2ggbGluZSBzZXRzIGFuIGVudmlyb25t ZW50IHZhcmlhYmxlCistICAgICAgICBmb3JlYWNoKGVudmlyb24gJHtlbnZpcm9uc30pCistICAg ICAgICAgICAgZmlsZShBUFBFTkQgJHtzaF9maWxlfSAiZXhwb3J0ICR7ZW52aXJvbn1cbiIpCist ICAgICAgICBlbmRmb3JlYWNoKGVudmlyb24pCistICAgICAgICAjbG9hZCB0aGUgY29tbWFuZCB0 byBydW4gd2l0aCBpdHMgYXJndW1lbnRzCistICAgICAgICBmb3JlYWNoKGFyZyAke0FSR059KQor LSAgICAgICAgICAgIGZpbGUoQVBQRU5EICR7c2hfZmlsZX0gIiR7YXJnfSAiKQorLSAgICAgICAg ZW5kZm9yZWFjaChhcmcpCistICAgICAgICBmaWxlKEFQUEVORCAke3NoX2ZpbGV9ICJcbiIpCist CistICAgICAgICAjbWFrZSB0aGUgc2hlbGwgZmlsZSBleGVjdXRhYmxlCistICAgICAgICBleGVj dXRlX3Byb2Nlc3MoQ09NTUFORCBjaG1vZCAreCAke3NoX2ZpbGV9KQorLQorLSAgICAgICAgYWRk X3Rlc3QoJHt0ZXN0X25hbWV9ICR7U0hFTEx9ICR7c2hfZmlsZX0pCistCistICAgIGVuZGlmKFVO SVgpCistCistICAgIGlmKFdJTjMyKQorLSAgICAgICAgbGlzdChBUFBFTkQgbGlicGF0aCAke0RM TF9QQVRIU30gIiVQQVRIJSIpCistICAgICAgICBsaXN0KEFQUEVORCBweXBhdGggIiVQWVRIT05Q QVRIJSIpCistCistICAgICAgICAjcmVwbGFjZSBsaXN0IHNlcGFyYXRvciB3aXRoIHRoZSBwYXRo IHNlcGFyYXRvciAoZXNjYXBlZCkKKy0gICAgICAgIHN0cmluZyhSRVBMQUNFICI7IiAiXFw7IiBs aWJwYXRoICIke2xpYnBhdGh9IikKKy0gICAgICAgIHN0cmluZyhSRVBMQUNFICI7IiAiXFw7IiBw eXBhdGggIiR7cHlwYXRofSIpCistICAgICAgICBsaXN0KEFQUEVORCBlbnZpcm9ucyAiUEFUSD0k e2xpYnBhdGh9IiAiUFlUSE9OUEFUSD0ke3B5cGF0aH0iKQorLQorLSAgICAgICAgI2dlbmVyYXRl IGEgYmF0IGZpbGUgdGhhdCBzZXRzIHRoZSBlbnZpcm9ubWVudCBhbmQgcnVucyB0aGUgdGVzdAor LSAgICAgICAgc2V0KGJhdF9maWxlICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke3Rlc3Rf bmFtZX1fdGVzdC5iYXQpCistICAgICAgICBmaWxlKFdSSVRFICR7YmF0X2ZpbGV9ICJAZWNobyBv ZmZcbiIpCistICAgICAgICAjZWFjaCBsaW5lIHNldHMgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUK Ky0gICAgICAgIGZvcmVhY2goZW52aXJvbiAke2Vudmlyb25zfSkKKy0gICAgICAgICAgICBmaWxl KEFQUEVORCAke2JhdF9maWxlfSAiU0VUICR7ZW52aXJvbn1cbiIpCistICAgICAgICBlbmRmb3Jl YWNoKGVudmlyb24pCistICAgICAgICAjbG9hZCB0aGUgY29tbWFuZCB0byBydW4gd2l0aCBpdHMg YXJndW1lbnRzCistICAgICAgICBmb3JlYWNoKGFyZyAke0FSR059KQorLSAgICAgICAgICAgIGZp bGUoQVBQRU5EICR7YmF0X2ZpbGV9ICIke2FyZ30gIikKKy0gICAgICAgIGVuZGZvcmVhY2goYXJn KQorLSAgICAgICAgZmlsZShBUFBFTkQgJHtiYXRfZmlsZX0gIlxuIikKKy0KKy0gICAgICAgIGFk ZF90ZXN0KCR7dGVzdF9uYW1lfSAke2JhdF9maWxlfSkKKy0gICAgZW5kaWYoV0lOMzIpCistCist ZW5kZnVuY3Rpb24oR1JfQUREX1RFU1QpCitkaWZmIC0tZ2l0IGEvY21ha2UvTW9kdWxlcy9HclZl cnNpb24uY21ha2UgYi9jbWFrZS9Nb2R1bGVzL0dyVmVyc2lvbi5jbWFrZQorZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCBiYWZkMGE3Li4wMDAwMDAwCistLS0gY21ha2UvTW9kdWxlcy9H clZlcnNpb24uY21ha2UKKysrKyAvZGV2L251bGwKK0BAIC0xLDgyICswLDAgQEAKKy0jIENvcHly aWdodCAyMDExLDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCistIworLSMgVGhp cyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCistIworLSMgR05VIFJhZGlvIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0jIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CistIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBv ciAoYXQgeW91ciBvcHRpb24pCistIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0jCistIyBHTlUgUmFk aW8gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0j IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCistIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorLSMKKy0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistIyBhbG9uZyB3aXRoIEdOVSBSYWRpbzsgc2VlIHRo ZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvCistIyB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsCistIyBCb3N0b24sIE1BIDAyMTEw LTEzMDEsIFVTQS4KKy0KKy1pZihERUZJTkVEIF9fSU5DTFVERURfR1JfVkVSU0lPTl9DTUFLRSkK Ky0gICAgcmV0dXJuKCkKKy1lbmRpZigpCistc2V0KF9fSU5DTFVERURfR1JfVkVSU0lPTl9DTUFL RSBUUlVFKQorLQorLSNldmVudHVhbGx5LCByZXBsYWNlIHZlcnNpb24uc2ggYW5kIGZpbGwgaW4g dGhlIHZhcmlhYmxlcyBiZWxvdworLXNldChNQUpPUl9WRVJTSU9OICR7VkVSU0lPTl9JTkZPX01B Sk9SX1ZFUlNJT059KQorLXNldChBUElfQ09NUEFUICAgICR7VkVSU0lPTl9JTkZPX0FQSV9DT01Q QVR9KQorLXNldChNSU5PUl9WRVJTSU9OICR7VkVSU0lPTl9JTkZPX01JTk9SX1ZFUlNJT059KQor LXNldChNQUlOVF9WRVJTSU9OICR7VkVSU0lPTl9JTkZPX01BSU5UX1ZFUlNJT059KQorLQorLSMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworLSMgRXh0cmFjdCB0aGUgdmVyc2lvbiBzdHJpbmcgZnJvbSBnaXQgZGVz Y3JpYmUuCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistZmluZF9wYWNrYWdlKEdpdCkKKy0KKy1pZihHSVRf Rk9VTkQgQU5EIEVYSVNUUyAke0NNQUtFX1NPVVJDRV9ESVJ9Ly5naXQpCistICAgIG1lc3NhZ2Uo U1RBVFVTICJFeHRyYWN0aW5nIHZlcnNpb24gaW5mb3JtYXRpb24gZnJvbSBnaXQgZGVzY3JpYmUu Li4iKQorLSAgICBleGVjdXRlX3Byb2Nlc3MoCistICAgICAgICBDT01NQU5EICR7R0lUX0VYRUNV VEFCTEV9IGRlc2NyaWJlIC0tYWx3YXlzIC0tYWJicmV2PTggLS1sb25nCistICAgICAgICBPVVRQ VVRfVkFSSUFCTEUgR0lUX0RFU0NSSUJFIE9VVFBVVF9TVFJJUF9UUkFJTElOR19XSElURVNQQUNF CistICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX1NPVVJDRV9ESVJ9CistICAgICkK Ky1lbHNlKCkKKy0gICAgc2V0KEdJVF9ERVNDUklCRSAidiR7TUFKT1JfVkVSU0lPTn0uJHtBUElf Q09NUEFUfS54LXh4eC14dW5rbm93biIpCistZW5kaWYoKQorLQorLSMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor LSMgVXNlIHRoZSBsb2dpYyBiZWxvdyB0byBzZXQgdGhlIHZlcnNpb24gY29uc3RhbnRzCistIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCistaWYoIiR7TUlOT1JfVkVSU0lPTn0iIFNUUkVRVUFMICJnaXQiKQorLSAg ICAjIFZFUlNJT046IDMuM2dpdC14eHgtZ3h4eHh4eHh4CistICAgICMgRE9DVkVSOiAgMy4zZ2l0 CistICAgICMgTElCVkVSOiAgMy4zZ2l0CistICAgIHNldChWRVJTSU9OICIke0dJVF9ERVNDUklC RX0iKQorLSAgICBzZXQoRE9DVkVSICAiJHtNQUpPUl9WRVJTSU9OfS4ke0FQSV9DT01QQVR9JHtN SU5PUl9WRVJTSU9OfSIpCistICAgIHNldChMSUJWRVIgICIke01BSk9SX1ZFUlNJT059LiR7QVBJ X0NPTVBBVH0ke01JTk9SX1ZFUlNJT059IikKKy0gICAgc2V0KFJDX01JTk9SX1ZFUlNJT04gIjAi KQorLSAgICBzZXQoUkNfTUFJTlRfVkVSU0lPTiAiMCIpCistZWxzZWlmKCIke01BSU5UX1ZFUlNJ T059IiBTVFJFUVVBTCAiZ2l0IikKKy0gICAgIyBWRVJTSU9OOiAzLjMuMWdpdC14eHgtZ3h4eHh4 eHh4CistICAgICMgRE9DVkVSOiAgMy4zLjFnaXQKKy0gICAgIyBMSUJWRVI6ICAzLjMuMWdpdAor LSAgICBzZXQoVkVSU0lPTiAiJHtHSVRfREVTQ1JJQkV9IikKKy0gICAgc2V0KERPQ1ZFUiAgIiR7 TUFKT1JfVkVSU0lPTn0uJHtBUElfQ09NUEFUfS4ke01JTk9SX1ZFUlNJT059JHtNQUlOVF9WRVJT SU9OfSIpCistICAgIHNldChMSUJWRVIgICIke01BSk9SX1ZFUlNJT059LiR7QVBJX0NPTVBBVH0u JHtNSU5PUl9WRVJTSU9OfSR7TUFJTlRfVkVSU0lPTn0iKQorLSAgICBtYXRoKEVYUFIgUkNfTUlO T1JfVkVSU0lPTiAiJHtNSU5PUl9WRVJTSU9OfSAtIDEiKQorLSAgICBzZXQoUkNfTUFJTlRfVkVS U0lPTiAiMCIpCistZWxzZSgpCistICAgICMgVGhpcyBpcyBhIG51bWJlcmVkIHJlbGVhc2UuCist ICAgICMgVkVSU0lPTjogMy4zLjF7Lnh9CistICAgICMgRE9DVkVSOiAgMy4zLjF7Lnh9CistICAg ICMgTElCVkVSOiAgMy4zLjF7Lnh9CistICAgIGlmKCIke01BSU5UX1ZFUlNJT059IiBTVFJFUVVB TCAiMCIpCistICAgICAgICBzZXQoVkVSU0lPTiAiJHtNQUpPUl9WRVJTSU9OfS4ke0FQSV9DT01Q QVR9LiR7TUlOT1JfVkVSU0lPTn0iKQorLSAgICBlbHNlKCkKKy0gICAgICAgIHNldChWRVJTSU9O ICIke01BSk9SX1ZFUlNJT059LiR7QVBJX0NPTVBBVH0uJHtNSU5PUl9WRVJTSU9OfS4ke01BSU5U X1ZFUlNJT059IikKKy0gICAgZW5kaWYoKQorLSAgICBzZXQoRE9DVkVSICIke1ZFUlNJT059IikK Ky0gICAgc2V0KExJQlZFUiAiJHtWRVJTSU9OfSIpCistICAgIHNldChSQ19NSU5PUl9WRVJTSU9O ICR7TUlOT1JfVkVSU0lPTn0pCistICAgIHNldChSQ19NQUlOVF9WRVJTSU9OICR7TUFJTlRfVkVS U0lPTn0pCistZW5kaWYoKQorZGlmZiAtLWdpdCBhL2NtYWtlL01vZHVsZXMvT3Ntb1NEUk1pc2NV dGlscy5jbWFrZSBiL2NtYWtlL01vZHVsZXMvT3Ntb1NEUk1pc2NVdGlscy5jbWFrZQorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjIxYzYzNTEKKy0tLSAvZGV2L251bGwKKysr KyBjbWFrZS9Nb2R1bGVzL09zbW9TRFJNaXNjVXRpbHMuY21ha2UKK0BAIC0wLDAgKzEsMTMyIEBA CisrIyBDb3B5cmlnaHQgMjAxMC0yMDExLDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisrIworKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIworKyMgR05VIFJh ZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCisrIyBhbnkgbGF0ZXIgdmVyc2lvbi4K KysjCisrIyBHTlUgUmFkaW8gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIEdO VSBSYWRpbzsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvCisrIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsCisrIyBC b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKysKKytpZihERUZJTkVEIF9fSU5DTFVERURfT1NN T1NEUl9NSVNDX1VUSUxTX0NNQUtFKQorKyAgICByZXR1cm4oKQorK2VuZGlmKCkKKytzZXQoX19J TkNMVURFRF9PU01PU0RSX01JU0NfVVRJTFNfQ01BS0UgVFJVRSkKKysKKysjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKysjIFRoaXMgbWFjcm8gaW5jbHVkZXMgc3ViZGlyZWN0b3JpZXMgcmF0aGVyIHRoYW4gYWRk aW5nIHRoZW0KKysjIHNvIHRoYXQgdGhlIHN1YmRpcmVjdG9yeSBjYW4gYWZmZWN0IHZhcmlhYmxl cyBpbiB0aGUgbGV2ZWwgYWJvdmUuCisrIyBUaGlzIHByb3ZpZGVzIGEgd29yay1hcm91bmQgZm9y IHRoZSBsYWNrIG9mIGNvbnZlbmllbmNlIGxpYnJhcmllcy4KKysjIFRoaXMgd2F5IGEgc3ViZGly ZWN0b3J5IGNhbiBhcHBlbmQgdG8gdGhlIGxpc3Qgb2YgbGlicmFyeSBzb3VyY2VzLgorKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworK21hY3JvKEdSX0lOQ0xVREVfU1VCRElSRUNUT1JZIHN1YmRpcikKKysgICAg I2luc2VydCB0aGUgY3VycmVudCBkaXJlY3RvcmllcyBvbiB0aGUgZnJvbnQgb2YgdGhlIGxpc3QK KysgICAgbGlzdChJTlNFUlQgX2NtYWtlX3NvdXJjZV9kaXJzIDAgJHtDTUFLRV9DVVJSRU5UX1NP VVJDRV9ESVJ9KQorKyAgICBsaXN0KElOU0VSVCBfY21ha2VfYmluYXJ5X2RpcnMgMCAke0NNQUtF X0NVUlJFTlRfQklOQVJZX0RJUn0pCisrCisrICAgICNzZXQgdGhlIGN1cnJlbnQgZGlyZWN0b3Jp ZXMgdG8gdGhlIG5hbWVzIG9mIHRoZSBzdWJkaXJzCisrICAgIHNldChDTUFLRV9DVVJSRU5UX1NP VVJDRV9ESVIgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7c3ViZGlyfSkKKysgICAgc2V0 KENNQUtFX0NVUlJFTlRfQklOQVJZX0RJUiAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vJHtz dWJkaXJ9KQorKworKyAgICAjaW5jbHVkZSB0aGUgc3ViZGlyZWN0b3J5IENNYWtlTGlzdHMgdG8g cnVuIGl0CisrICAgIGZpbGUoTUFLRV9ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9E SVJ9KQorKyAgICBpbmNsdWRlKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9DTWFrZUxpc3Rz LnR4dCkKKysKKysgICAgI3Jlc2V0IHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBkaXJlY3Rvcmll cworKyAgICBsaXN0KEdFVCBfY21ha2Vfc291cmNlX2RpcnMgMCBDTUFLRV9DVVJSRU5UX1NPVVJD RV9ESVIpCisrICAgIGxpc3QoR0VUIF9jbWFrZV9iaW5hcnlfZGlycyAwIENNQUtFX0NVUlJFTlRf QklOQVJZX0RJUikKKysKKysgICAgI3BvcCB0aGUgc3ViZGlyIG5hbWVzIG9mIHRoZSBmcm9udCBv ZiB0aGUgbGlzdAorKyAgICBsaXN0KFJFTU9WRV9BVCBfY21ha2Vfc291cmNlX2RpcnMgMCkKKysg ICAgbGlzdChSRU1PVkVfQVQgX2NtYWtlX2JpbmFyeV9kaXJzIDApCisrZW5kbWFjcm8oR1JfSU5D TFVERV9TVUJESVJFQ1RPUlkpCisrCisrCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyBHZW5lcmF0ZXMg dGhlIC5sYSBsaWJ0b29sIGZpbGUKKysjIFRoaXMgYXBwZWFycyB0byBnZW5lcmF0ZSBsaWJ0b29s IGZpbGVzIHRoYXQgY2Fubm90IGJlIHVzZWQgYnkgYXV0byouCisrIyBVc2FnZSBHUl9MSUJUT09M KFRBUkdFVCBbdGFyZ2V0XSBERVNUSU5BVElPTiBbZGVzdF0pCisrIyBOb3RpY2U6IHRoZXJlIGlz IG5vdCBDT01QT05FTlQgb3B0aW9uLCB0aGVzZSB3aWxsIG5vdCBnZXQgZGlzdHJpYnV0ZWQuCisr IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisrZnVuY3Rpb24oR1JfTElCVE9PTCkKKysgICAgaWYoTk9UIERFRklO RUQgR0VORVJBVEVfTElCVE9PTCkKKysgICAgICAgIHNldChHRU5FUkFURV9MSUJUT09MIE9GRikg I2Rpc2FibGVkIGJ5IGRlZmF1bHQKKysgICAgZW5kaWYoKQorKworKyAgICBpZihHRU5FUkFURV9M SUJUT09MKQorKyAgICAgICAgaW5jbHVkZShDTWFrZVBhcnNlQXJndW1lbnRzQ29weSkKKysgICAg ICAgIENNQUtFX1BBUlNFX0FSR1VNRU5UUyhHUl9MSUJUT09MICIiICJUQVJHRVQ7REVTVElOQVRJ T04iICIiICR7QVJHTn0pCisrCisrICAgICAgICBmaW5kX3Byb2dyYW0oTElCVE9PTCBsaWJ0b29s KQorKyAgICAgICAgaWYoTElCVE9PTCkKKysgICAgICAgICAgICBpbmNsdWRlKENNYWtlTWFjcm9M aWJ0b29sRmlsZSkKKysgICAgICAgICAgICBDUkVBVEVfTElCVE9PTF9GSUxFKCR7R1JfTElCVE9P TF9UQVJHRVR9IC8ke0dSX0xJQlRPT0xfREVTVElOQVRJT059KQorKyAgICAgICAgZW5kaWYoTElC VE9PTCkKKysgICAgZW5kaWYoR0VORVJBVEVfTElCVE9PTCkKKysKKytlbmRmdW5jdGlvbihHUl9M SUJUT09MKQorKworKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyMgRG8gc3RhbmRhcmQgdGhpbmdzIHRvIHRo ZSBsaWJyYXJ5IHRhcmdldAorKyMgLSBzZXQgdGFyZ2V0IHByb3BlcnRpZXMKKysjIC0gbWFrZSBp bnN0YWxsIHJ1bGVzCisrIyBBbHNvIGhhbmRsZSBnbnVyYWRpbyBjdXN0b20gbmFtaW5nIGNvbnZl bnRpb25zIHcvIGV4dHJhcyBtb2RlLgorKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworK2Z1bmN0aW9uKEdSX0xJ QlJBUllfRk9PX1YyIHRhcmdldCkKKysgICAgI3BhcnNlIHRoZSBhcmd1bWVudHMgZm9yIGNvbXBv bmVudCBuYW1lcworKyAgICBpbmNsdWRlKENNYWtlUGFyc2VBcmd1bWVudHNDb3B5KQorKyAgICBD TUFLRV9QQVJTRV9BUkdVTUVOVFMoR1JfTElCUkFSWSAiIiAiUlVOVElNRV9DT01QT05FTlQ7REVW RUxfQ09NUE9ORU5UIiAiIiAke0FSR059KQorKworKyAgICAjc2V0IGFkZGl0aW9uYWwgdGFyZ2V0 IHByb3BlcnRpZXMKKysgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7dGFyZ2V0fSBQUk9QRVJU SUVTIFNPVkVSU0lPTiAke0xJQlZFUn0pCisrCisrICAgICNpbnN0YWxsIHRoZSBnZW5lcmF0ZWQg ZmlsZXMgbGlrZSBzby4uLgorKyAgICBpbnN0YWxsKFRBUkdFVFMgJHt0YXJnZXR9CisrICAgICAg ICAgICAgTElCUkFSWSBERVNUSU5BVElPTiAke0dSX0xJQlJBUllfRElSfSBDT01QT05FTlQgJHtH Ul9MSUJSQVJZX1JVTlRJTUVfQ09NUE9ORU5UfSAjIC5zby8uZHlsaWIgZmlsZQorKyAgICAgICAg ICAgIEFSQ0hJVkUgREVTVElOQVRJT04gJHtHUl9MSUJSQVJZX0RJUn0gQ09NUE9ORU5UICR7R1Jf TElCUkFSWV9ERVZFTF9DT01QT05FTlR9ICAgIyAubGliIGZpbGUKKysgICAgICAgICAgICBSVU5U SU1FIERFU1RJTkFUSU9OICR7R1JfUlVOVElNRV9ESVJ9IENPTVBPTkVOVCAke0dSX0xJQlJBUllf UlVOVElNRV9DT01QT05FTlR9ICMgLmRsbCBmaWxlCisrICAgICAgICAgICAgKQorKworKyAgICAj ZXh0cmFzIG1vZGUgZW5hYmxlZCBhdXRvbWF0aWNhbGx5IG9uIGxpbnV4CisrICAgIGlmKE5PVCBE RUZJTkVEIExJQlJBUllfRVhUUkFTKQorKyAgICAgICAgc2V0KExJQlJBUllfRVhUUkFTICR7TElO VVh9KQorKyAgICBlbmRpZigpCisrCisrICAgICNzcGVjaWFsIGV4dHJhcyBtb2RlIHRvIGVuYWJs ZSBhbHRlcm5hdGl2ZSBuYW1pbmcgY29udmVudGlvbnMKKysgICAgaWYoTElCUkFSWV9FWFRSQVMp CisrCisrICAgICAgICAjY3JlYXRlIC5sYSBmaWxlIGJlZm9yZSBjaGFuZ2luZyBwcm9wcworKyAg ICAgICAgR1JfTElCVE9PTChUQVJHRVQgJHt0YXJnZXR9IERFU1RJTkFUSU9OICR7R1JfTElCUkFS WV9ESVJ9KQorKworKyAgICAgICAgI2dpdmUgdGhlIGxpYnJhcnkgYSBzcGVjaWFsIG5hbWUgd2l0 aCB1bHRyYS16ZXJvIHNvdmVyc2lvbgorKyAgICAgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7 dGFyZ2V0fSBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICR7dGFyZ2V0fS0ke0xJQlZFUn0gU09WRVJT SU9OICIwLjAuMCIpCisrICAgICAgICBzZXQodGFyZ2V0X25hbWUgbGliJHt0YXJnZXR9LSR7TElC VkVSfS5zby4wLjAuMCkKKysKKysgICAgICAgICNjdXN0b20gY29tbWFuZCB0byBnZW5lcmF0ZSBz eW1saW5rcworKyAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAorKyAgICAgICAgICAgICAgICBU QVJHRVQgJHt0YXJnZXR9CisrICAgICAgICAgICAgICAgIFBPU1RfQlVJTEQKKysgICAgICAgICAg ICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGNyZWF0ZV9zeW1saW5rICR7dGFyZ2V0 X25hbWV9ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9saWIke3RhcmdldH0uc28KKysgICAg ICAgICAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGNyZWF0ZV9zeW1saW5rICR7 dGFyZ2V0X25hbWV9ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9saWIke3RhcmdldH0tJHtM SUJWRVJ9LnNvLjAKKysgICAgICAgICAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1F IHRvdWNoICR7dGFyZ2V0X25hbWV9ICNzbyB0aGUgc3ltbGlua3MgcG9pbnQgdG8gc29tZXRoaW5n IHZhbGlkIHNvIGNtYWtlIDIuNiB3aWxsIGluc3RhbGwKKysgICAgICAgICkKKysKKysgICAgICAg ICNhbmQgaW5zdGFsbCB0aGUgZXh0cmEgc3ltbGlua3MKKysgICAgICAgIGluc3RhbGwoCisrICAg ICAgICAgICAgICAgIEZJTEVTCisrICAgICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5B UllfRElSfS9saWIke3RhcmdldH0uc28KKysgICAgICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5U X0JJTkFSWV9ESVJ9L2xpYiR7dGFyZ2V0fS0ke0xJQlZFUn0uc28uMAorKyAgICAgICAgICAgICAg ICBERVNUSU5BVElPTiAke0dSX0xJQlJBUllfRElSfSBDT01QT05FTlQgJHtHUl9MSUJSQVJZX1JV TlRJTUVfQ09NUE9ORU5UfQorKyAgICAgICAgKQorKworKyAgICBlbmRpZihMSUJSQVJZX0VYVFJB UykKKytlbmRmdW5jdGlvbihHUl9MSUJSQVJZX0ZPT19WMikKK2RpZmYgLS1naXQgYS9jbWFrZS9N b2R1bGVzL29zbW9zZHJDb25maWcuY21ha2UgYi9jbWFrZS9Nb2R1bGVzL29zbW9zZHJDb25maWcu Y21ha2UKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5hM2IzNDFhCistLS0g L2Rldi9udWxsCisrKysgY21ha2UvTW9kdWxlcy9vc21vc2RyQ29uZmlnLmNtYWtlCitAQCAtMCww ICsxLDMxIEBACisrSU5DTFVERShGaW5kUGtnQ29uZmlnKQorK1BLR19DSEVDS19NT0RVTEVTKFBD X09TTU9TRFIgb3Ntb3NkcikKKysKKytGSU5EX1BBVEgoCisrICAgIE9TTU9TRFJfSU5DTFVERV9E SVJTCisrICAgIE5BTUVTIG9zbW9zZHIvYXBpLmgKKysgICAgSElOVFMgJEVOVntPU01PU0RSX0RJ Un0vaW5jbHVkZQorKyAgICAgICAgJHtQQ19PU01PU0RSX0lOQ0xVREVESVJ9CisrICAgIFBBVEhT ICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2luY2x1ZGUKKysgICAgICAgICAgL3Vzci9sb2NhbC9p bmNsdWRlCisrICAgICAgICAgIC91c3IvaW5jbHVkZQorKykKKysKKytGSU5EX0xJQlJBUlkoCisr ICAgIE9TTU9TRFJfTElCUkFSSUVTCisrICAgIE5BTUVTIGdudXJhZGlvLW9zbW9zZHIKKysgICAg SElOVFMgJEVOVntPU01PU0RSX0RJUn0vbGliCisrICAgICAgICAke1BDX09TTU9TRFJfTElCRElS fQorKyAgICBQQVRIUyAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIKKysgICAgICAgICAgJHtD TUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliNjQKKysgICAgICAgICAgL3Vzci9sb2NhbC9saWIKKysg ICAgICAgICAgL3Vzci9sb2NhbC9saWI2NAorKyAgICAgICAgICAvdXNyL2xpYgorKyAgICAgICAg ICAvdXNyL2xpYjY0CisrICAgICAgICAgICkKKysKKytpbmNsdWRlKCIke0NNQUtFX0NVUlJFTlRf TElTVF9ESVJ9L29zbW9zZHJUYXJnZXQuY21ha2UiKQorKworK0lOQ0xVREUoRmluZFBhY2thZ2VI YW5kbGVTdGFuZGFyZEFyZ3MpCisrRklORF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKE9T TU9TRFIgREVGQVVMVF9NU0cgT1NNT1NEUl9MSUJSQVJJRVMgT1NNT1NEUl9JTkNMVURFX0RJUlMp CisrTUFSS19BU19BRFZBTkNFRChPU01PU0RSX0xJQlJBUklFUyBPU01PU0RSX0lOQ0xVREVfRElS UykKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL3RhcmdldENvbmZpZy5jbWFrZS5pbiBiL2Nt YWtlL01vZHVsZXMvdGFyZ2V0Q29uZmlnLmNtYWtlLmluCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMC4uNzllNGEyOAorLS0tIC9kZXYvbnVsbAorKysrIGNtYWtlL01vZHVsZXMv dGFyZ2V0Q29uZmlnLmNtYWtlLmluCitAQCAtMCwwICsxLDI2IEBACisrIyBDb3B5cmlnaHQgMjAx OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysjCisrIyBUaGlzIGZpbGUgaXMgcGFy dCBvZiBHTlUgUmFkaW8KKysjCisrIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9w dGlvbikKKysjIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIEdOVSBSYWRpbyBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIwor KyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUgQ09QWUlO Ry4gIElmIG5vdCwgd3JpdGUgdG8KKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwKKysjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor KworK2luY2x1ZGUoQ01ha2VGaW5kRGVwZW5kZW5jeU1hY3JvKQorKworK3NldCh0YXJnZXRfZGVw cyAiQFRBUkdFVF9ERVBFTkRFTkNJRVNAIikKKytmb3JlYWNoKGRlcCBJTiBMSVNUUyB0YXJnZXRf ZGVwcykKKysgICAgZmluZF9kZXBlbmRlbmN5KCR7ZGVwfSkKKytlbmRmb3JlYWNoKCkKKytpbmNs dWRlKCIke0NNQUtFX0NVUlJFTlRfTElTVF9ESVJ9L0BUQVJHRVRAVGFyZ2V0cy5jbWFrZSIpCitk aWZmIC0tZ2l0IGEvZG9jcy9DTWFrZUxpc3RzLnR4dCBiL2RvY3MvQ01ha2VMaXN0cy50eHQKK2lu ZGV4IDQ0NmI4NmEuLmE1MGRiZjggMTAwNjQ0CistLS0gZG9jcy9DTWFrZUxpc3RzLnR4dAorKysr IGRvY3MvQ01ha2VMaXN0cy50eHQKK0BAIC0xLDYgKzEsNyBAQAorICMgQ29weXJpZ2h0IDIwMTEg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQg b2YgR05VIFJhZGlvCisrIyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBh IHRvb2wgZnJvbSB0aGUgR05VIFJhZGlvIGZyYW1ld29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFy dCBvZiBnci1vc21vc2RyCisgIworICMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtMTcs NiArMTgsMTEgQEAKKyAjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy YW5rbGluIFN0cmVldCwKKyAjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorIAorKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworKyMgU2V0dXAgZGVwZW5kZW5jaWVzCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrZmlu ZF9wYWNrYWdlKERveHlnZW4pCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBCZWdpbiBjb25kaXRp b25hbCBjb25maWd1cmF0aW9uCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitkaWZmIC0tZ2l0IGEvZG9jcy9k b3h5Z2VuL0NNYWtlTGlzdHMudHh0IGIvZG9jcy9kb3h5Z2VuL0NNYWtlTGlzdHMudHh0CitpbmRl eCAxYjQ0Nzk5Li4xNzkxMDRiIDEwMDY0NAorLS0tIGRvY3MvZG94eWdlbi9DTWFrZUxpc3RzLnR4 dAorKysrIGRvY3MvZG94eWdlbi9DTWFrZUxpc3RzLnR4dAorQEAgLTEsNiArMSw3IEBACisgIyBD b3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAjCistIyBUaGlz IGZpbGUgaXMgcGFydCBvZiBHTlUgUmFkaW8KKysjIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5 IGdyX21vZHRvb2wsIGEgdG9vbCBmcm9tIHRoZSBHTlUgUmFkaW8gZnJhbWV3b3JrCisrIyBUaGlz IGZpbGUgaXMgYSBwYXJ0IG9mIGdyLW9zbW9zZHIKKyAjCisgIyBHTlUgUmFkaW8gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKK2RpZmYgLS1naXQgYS9kb2NzL2RveHlnZW4vRG94eWZpbGUuaW4gYi9kb2NzL2RveHln ZW4vRG94eWZpbGUuaW4KK2luZGV4IDhkZGU5NzguLmFiMjdjMzMgMTAwNjQ0CistLS0gZG9jcy9k b3h5Z2VuL0RveHlmaWxlLmluCisrKysgZG9jcy9kb3h5Z2VuL0RveHlmaWxlLmluCitAQCAtMSwx NCArMSwxNiBAQAorLSMgRG94eWZpbGUgMS41LjcuMQorKyMgRG94eWZpbGUgMS44LjQKKyAKKyAj IFRoaXMgZmlsZSBkZXNjcmliZXMgdGhlIHNldHRpbmdzIHRvIGJlIHVzZWQgYnkgdGhlIGRvY3Vt ZW50YXRpb24gc3lzdGVtCistIyBkb3h5Z2VuICh3d3cuZG94eWdlbi5vcmcpIGZvciBhIHByb2pl Y3QKKysjIGRveHlnZW4gKHd3dy5kb3h5Z2VuLm9yZykgZm9yIGEgcHJvamVjdC4KKyAjCistIyBB bGwgdGV4dCBhZnRlciBhIGhhc2ggKCMpIGlzIGNvbnNpZGVyZWQgYSBjb21tZW50IGFuZCB3aWxs IGJlIGlnbm9yZWQKKysjIEFsbCB0ZXh0IGFmdGVyIGEgZG91YmxlIGhhc2ggKCMjKSBpcyBjb25z aWRlcmVkIGEgY29tbWVudCBhbmQgaXMgcGxhY2VkCisrIyBpbiBmcm9udCBvZiB0aGUgVEFHIGl0 IGlzIHByZWNlZGluZyAuCisrIyBBbGwgdGV4dCBhZnRlciBhIGhhc2ggKCMpIGlzIGNvbnNpZGVy ZWQgYSBjb21tZW50IGFuZCB3aWxsIGJlIGlnbm9yZWQuCisgIyBUaGUgZm9ybWF0IGlzOgorICMg ICAgICAgVEFHID0gdmFsdWUgW3ZhbHVlLCAuLi5dCisgIyBGb3IgbGlzdHMgaXRlbXMgY2FuIGFs c28gYmUgYXBwZW5kZWQgdXNpbmc6CisgIyAgICAgICBUQUcgKz0gdmFsdWUgW3ZhbHVlLCAuLi5d CistIyBWYWx1ZXMgdGhhdCBjb250YWluIHNwYWNlcyBzaG91bGQgYmUgcGxhY2VkIGJldHdlZW4g cXVvdGVzICgiICIpCisrIyBWYWx1ZXMgdGhhdCBjb250YWluIHNwYWNlcyBzaG91bGQgYmUgcGxh Y2VkIGJldHdlZW4gcXVvdGVzICgiICIpLgorIAorICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFBy b2plY3QgcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMKK0BAIC0yMiwxMCArMjQsMTEgQEAK KyAKKyBET1hZRklMRV9FTkNPRElORyAgICAgID0gVVRGLTgKKyAKKy0jIFRoZSBQUk9KRUNUX05B TUUgdGFnIGlzIGEgc2luZ2xlIHdvcmQgKG9yIGEgc2VxdWVuY2Ugb2Ygd29yZHMgc3Vycm91bmRl ZAorLSMgYnkgcXVvdGVzKSB0aGF0IHNob3VsZCBpZGVudGlmeSB0aGUgcHJvamVjdC4KKysjIFRo ZSBQUk9KRUNUX05BTUUgdGFnIGlzIGEgc2luZ2xlIHdvcmQgKG9yIHNlcXVlbmNlIG9mIHdvcmRz KSB0aGF0IHNob3VsZAorKyMgaWRlbnRpZnkgdGhlIHByb2plY3QuIE5vdGUgdGhhdCBpZiB5b3Ug ZG8gbm90IHVzZSBEb3h5d2l6YXJkIHlvdSBuZWVkCisrIyB0byBwdXQgcXVvdGVzIGFyb3VuZCB0 aGUgcHJvamVjdCBuYW1lIGlmIGl0IGNvbnRhaW5zIHNwYWNlcy4KKyAKKy1QUk9KRUNUX05BTUUg ICAgICAgICAgID0gIkdOVSBSYWRpbydzIE9zbW9TRFIgUGFja2FnZSIKKytQUk9KRUNUX05BTUUg ICAgICAgICAgID0gIkdOVSBSYWRpbydzIE9TTU9TRFIgUGFja2FnZSIKKyAKKyAjIFRoZSBQUk9K RUNUX05VTUJFUiB0YWcgY2FuIGJlIHVzZWQgdG8gZW50ZXIgYSBwcm9qZWN0IG9yIHJldmlzaW9u IG51bWJlci4KKyAjIFRoaXMgY291bGQgYmUgaGFuZHkgZm9yIGFyY2hpdmluZyB0aGUgZ2VuZXJh dGVkIGRvY3VtZW50YXRpb24gb3IKK0BAIC0zMyw2ICszNiwxOSBAQCBQUk9KRUNUX05BTUUgICAg ICAgICAgID0gIkdOVSBSYWRpbydzIE9zbW9TRFIgUGFja2FnZSIKKyAKKyBQUk9KRUNUX05VTUJF UiAgICAgICAgID0KKyAKKysjIFVzaW5nIHRoZSBQUk9KRUNUX0JSSUVGIHRhZyBvbmUgY2FuIHBy b3ZpZGUgYW4gb3B0aW9uYWwgb25lIGxpbmUgZGVzY3JpcHRpb24KKysjIGZvciBhIHByb2plY3Qg dGhhdCBhcHBlYXJzIGF0IHRoZSB0b3Agb2YgZWFjaCBwYWdlIGFuZCBzaG91bGQgZ2l2ZSB2aWV3 ZXIKKysjIGEgcXVpY2sgaWRlYSBhYm91dCB0aGUgcHVycG9zZSBvZiB0aGUgcHJvamVjdC4gS2Vl cCB0aGUgZGVzY3JpcHRpb24gc2hvcnQuCisrCisrUFJPSkVDVF9CUklFRiAgICAgICAgICA9Cisr CisrIyBXaXRoIHRoZSBQUk9KRUNUX0xPR08gdGFnIG9uZSBjYW4gc3BlY2lmeSBhbiBsb2dvIG9y IGljb24gdGhhdCBpcworKyMgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uIFRoZSBtYXhp bXVtIGhlaWdodCBvZiB0aGUgbG9nbyBzaG91bGQgbm90CisrIyBleGNlZWQgNTUgcGl4ZWxzIGFu ZCB0aGUgbWF4aW11bSB3aWR0aCBzaG91bGQgbm90IGV4Y2VlZCAyMDAgcGl4ZWxzLgorKyMgRG94 eWdlbiB3aWxsIGNvcHkgdGhlIGxvZ28gdG8gdGhlIG91dHB1dCBkaXJlY3RvcnkuCisrCisrUFJP SkVDVF9MT0dPICAgICAgICAgICA9CisrCisgIyBUaGUgT1VUUFVUX0RJUkVDVE9SWSB0YWcgaXMg dXNlZCB0byBzcGVjaWZ5IHRoZSAocmVsYXRpdmUgb3IgYWJzb2x1dGUpCisgIyBiYXNlIHBhdGgg d2hlcmUgdGhlIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uIHdpbGwgYmUgcHV0LgorICMgSWYgYSBy ZWxhdGl2ZSBwYXRoIGlzIGVudGVyZWQsIGl0IHdpbGwgYmUgcmVsYXRpdmUgdG8gdGhlIGxvY2F0 aW9uCitAQCAtNTQsMTEgKzcwLDExIEBAIENSRUFURV9TVUJESVJTICAgICAgICAgPSBOTworICMg aW5mb3JtYXRpb24gdG8gZ2VuZXJhdGUgYWxsIGNvbnN0YW50IG91dHB1dCBpbiB0aGUgcHJvcGVy IGxhbmd1YWdlLgorICMgVGhlIGRlZmF1bHQgbGFuZ3VhZ2UgaXMgRW5nbGlzaCwgb3RoZXIgc3Vw cG9ydGVkIGxhbmd1YWdlcyBhcmU6CisgIyBBZnJpa2FhbnMsIEFyYWJpYywgQnJhemlsaWFuLCBD YXRhbGFuLCBDaGluZXNlLCBDaGluZXNlLVRyYWRpdGlvbmFsLAorLSMgQ3JvYXRpYW4sIEN6ZWNo LCBEYW5pc2gsIER1dGNoLCBGYXJzaSwgRmlubmlzaCwgRnJlbmNoLCBHZXJtYW4sIEdyZWVrLAor LSMgSHVuZ2FyaWFuLCBJdGFsaWFuLCBKYXBhbmVzZSwgSmFwYW5lc2UtZW4gKEphcGFuZXNlIHdp dGggRW5nbGlzaCBtZXNzYWdlcyksCistIyBLb3JlYW4sIEtvcmVhbi1lbiwgTGl0aHVhbmlhbiwg Tm9yd2VnaWFuLCBNYWNlZG9uaWFuLCBQZXJzaWFuLCBQb2xpc2gsCistIyBQb3J0dWd1ZXNlLCBS b21hbmlhbiwgUnVzc2lhbiwgU2VyYmlhbiwgU2VyYmlhbi1DeXJpbGljLCBTbG92YWssIFNsb3Zl bmUsCistIyBTcGFuaXNoLCBTd2VkaXNoLCBhbmQgVWtyYWluaWFuLgorKyMgQ3JvYXRpYW4sIEN6 ZWNoLCBEYW5pc2gsIER1dGNoLCBFc3BlcmFudG8sIEZhcnNpLCBGaW5uaXNoLCBGcmVuY2gsIEdl cm1hbiwKKysjIEdyZWVrLCBIdW5nYXJpYW4sIEl0YWxpYW4sIEphcGFuZXNlLCBKYXBhbmVzZS1l biAoSmFwYW5lc2Ugd2l0aCBFbmdsaXNoCisrIyBtZXNzYWdlcyksIEtvcmVhbiwgS29yZWFuLWVu LCBMYXR2aWFuLCBMaXRodWFuaWFuLCBOb3J3ZWdpYW4sIE1hY2Vkb25pYW4sCisrIyBQZXJzaWFu LCBQb2xpc2gsIFBvcnR1Z3Vlc2UsIFJvbWFuaWFuLCBSdXNzaWFuLCBTZXJiaWFuLCBTZXJiaWFu LUN5cmlsbGljLAorKyMgU2xvdmFrLCBTbG92ZW5lLCBTcGFuaXNoLCBTd2VkaXNoLCBVa3JhaW5p YW4sIGFuZCBWaWV0bmFtZXNlLgorIAorIE9VVFBVVF9MQU5HVUFHRSAgICAgICAgPSBFbmdsaXNo CisgCitAQCAtMTEyLDcgKzEyOCw5IEBAIEZVTExfUEFUSF9OQU1FUyAgICAgICAgPSBOTworICMg b25seSBkb25lIGlmIG9uZSBvZiB0aGUgc3BlY2lmaWVkIHN0cmluZ3MgbWF0Y2hlcyB0aGUgbGVm dC1oYW5kIHBhcnQgb2YKKyAjIHRoZSBwYXRoLiBUaGUgdGFnIGNhbiBiZSB1c2VkIHRvIHNob3cg cmVsYXRpdmUgcGF0aHMgaW4gdGhlIGZpbGUgbGlzdC4KKyAjIElmIGxlZnQgYmxhbmsgdGhlIGRp cmVjdG9yeSBmcm9tIHdoaWNoIGRveHlnZW4gaXMgcnVuIGlzIHVzZWQgYXMgdGhlCistIyBwYXRo IHRvIHN0cmlwLgorKyMgcGF0aCB0byBzdHJpcC4gTm90ZSB0aGF0IHlvdSBzcGVjaWZ5IGFic29s dXRlIHBhdGhzIGhlcmUsIGJ1dCBhbHNvCisrIyByZWxhdGl2ZSBwYXRocywgd2hpY2ggd2lsbCBi ZSByZWxhdGl2ZSBmcm9tIHRoZSBkaXJlY3Rvcnkgd2hlcmUgZG94eWdlbiBpcworKyMgc3RhcnRl ZC4KKyAKKyBTVFJJUF9GUk9NX1BBVEggICAgICAgID0KKyAKK0BAIC0xMjYsNyArMTQ0LDcgQEAg U1RSSVBfRlJPTV9QQVRIICAgICAgICA9CisgU1RSSVBfRlJPTV9JTkNfUEFUSCAgICA9CisgCisg IyBJZiB0aGUgU0hPUlRfTkFNRVMgdGFnIGlzIHNldCB0byBZRVMsIGRveHlnZW4gd2lsbCBnZW5l cmF0ZSBtdWNoIHNob3J0ZXIKKy0jIChidXQgbGVzcyByZWFkYWJsZSkgZmlsZSBuYW1lcy4gVGhp cyBjYW4gYmUgdXNlZnVsIGlzIHlvdXIgZmlsZSBzeXN0ZW1zCisrIyAoYnV0IGxlc3MgcmVhZGFi bGUpIGZpbGUgbmFtZXMuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3VyIGZpbGUgc3lzdGVtCisg IyBkb2Vzbid0IHN1cHBvcnQgbG9uZyBuYW1lcyBsaWtlIG9uIERPUywgTWFjLCBvciBDRC1ST00u CisgCisgU0hPUlRfTkFNRVMgICAgICAgICAgICA9IE5PCitAQCAtMTgxLDYgKzE5OSwxMyBAQCBU QUJfU0laRSAgICAgICAgICAgICAgID0gOAorIAorIEFMSUFTRVMgICAgICAgICAgICAgICAgPQor IAorKyMgVGhpcyB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIG51bWJlciBvZiB3b3JkLWtl eXdvcmQgbWFwcGluZ3MgKFRDTCBvbmx5KS4KKysjIEEgbWFwcGluZyBoYXMgdGhlIGZvcm0gIm5h bWU9dmFsdWUiLiBGb3IgZXhhbXBsZSBhZGRpbmcKKysjICJjbGFzcz1pdGNsOjpjbGFzcyIgd2ls bCBhbGxvdyB5b3UgdG8gdXNlIHRoZSBjb21tYW5kIGNsYXNzIGluIHRoZQorKyMgaXRjbDo6Y2xh c3MgbWVhbmluZy4KKysKKytUQ0xfU1VCU1QgICAgICAgICAgICAgID0KKysKKyAjIFNldCB0aGUg T1BUSU1JWkVfT1VUUFVUX0ZPUl9DIHRhZyB0byBZRVMgaWYgeW91ciBwcm9qZWN0IGNvbnNpc3Rz IG9mIEMKKyAjIHNvdXJjZXMgb25seS4gRG94eWdlbiB3aWxsIHRoZW4gZ2VuZXJhdGUgb3V0cHV0 IHRoYXQgaXMgbW9yZSB0YWlsb3JlZCBmb3IgQy4KKyAjIEZvciBpbnN0YW5jZSwgc29tZSBvZiB0 aGUgbmFtZXMgdGhhdCBhcmUgdXNlZCB3aWxsIGJlIGRpZmZlcmVudC4gVGhlIGxpc3QKK0BAIC0y MDcsMTEgKzIzMiw0MCBAQCBPUFRJTUlaRV9GT1JfRk9SVFJBTiAgID0gTk8KKyAKKyBPUFRJTUla RV9PVVRQVVRfVkhETCAgID0gTk8KKyAKKysjIERveHlnZW4gc2VsZWN0cyB0aGUgcGFyc2VyIHRv IHVzZSBkZXBlbmRpbmcgb24gdGhlIGV4dGVuc2lvbiBvZiB0aGUgZmlsZXMgaXQKKysjIHBhcnNl cy4gV2l0aCB0aGlzIHRhZyB5b3UgY2FuIGFzc2lnbiB3aGljaCBwYXJzZXIgdG8gdXNlIGZvciBh IGdpdmVuCisrIyBleHRlbnNpb24uIERveHlnZW4gaGFzIGEgYnVpbHQtaW4gbWFwcGluZywgYnV0 IHlvdSBjYW4gb3ZlcnJpZGUgb3IgZXh0ZW5kIGl0CisrIyB1c2luZyB0aGlzIHRhZy4gVGhlIGZv cm1hdCBpcyBleHQ9bGFuZ3VhZ2UsIHdoZXJlIGV4dCBpcyBhIGZpbGUgZXh0ZW5zaW9uLAorKyMg YW5kIGxhbmd1YWdlIGlzIG9uZSBvZiB0aGUgcGFyc2VycyBzdXBwb3J0ZWQgYnkgZG94eWdlbjog SURMLCBKYXZhLAorKyMgSmF2YXNjcmlwdCwgQ1NoYXJwLCBDLCBDKyssIEQsIFBIUCwgT2JqZWN0 aXZlLUMsIFB5dGhvbiwgRm9ydHJhbiwgVkhETCwgQywKKysjIEMrKy4gRm9yIGluc3RhbmNlIHRv IG1ha2UgZG94eWdlbiB0cmVhdCAuaW5jIGZpbGVzIGFzIEZvcnRyYW4gZmlsZXMgKGRlZmF1bHQK KysjIGlzIFBIUCksIGFuZCAuZiBmaWxlcyBhcyBDIChkZWZhdWx0IGlzIEZvcnRyYW4pLCB1c2U6 IGluYz1Gb3J0cmFuIGY9Qy4gTm90ZQorKyMgdGhhdCBmb3IgY3VzdG9tIGV4dGVuc2lvbnMgeW91 IGFsc28gbmVlZCB0byBzZXQgRklMRV9QQVRURVJOUyBvdGhlcndpc2UgdGhlCisrIyBmaWxlcyBh cmUgbm90IHJlYWQgYnkgZG94eWdlbi4KKysKKytFWFRFTlNJT05fTUFQUElORyAgICAgID0KKysK KysjIElmIE1BUktET1dOX1NVUFBPUlQgaXMgZW5hYmxlZCAodGhlIGRlZmF1bHQpIHRoZW4gZG94 eWdlbiBwcmUtcHJvY2Vzc2VzIGFsbAorKyMgY29tbWVudHMgYWNjb3JkaW5nIHRvIHRoZSBNYXJr ZG93biBmb3JtYXQsIHdoaWNoIGFsbG93cyBmb3IgbW9yZSByZWFkYWJsZQorKyMgZG9jdW1lbnRh dGlvbi4gU2VlIGh0dHA6Ly9kYXJpbmdmaXJlYmFsbC5uZXQvcHJvamVjdHMvbWFya2Rvd24vIGZv ciBkZXRhaWxzLgorKyMgVGhlIG91dHB1dCBvZiBtYXJrZG93biBwcm9jZXNzaW5nIGlzIGZ1cnRo ZXIgcHJvY2Vzc2VkIGJ5IGRveHlnZW4sIHNvIHlvdQorKyMgY2FuIG1peCBkb3h5Z2VuLCBIVE1M LCBhbmQgWE1MIGNvbW1hbmRzIHdpdGggTWFya2Rvd24gZm9ybWF0dGluZy4KKysjIERpc2FibGUg b25seSBpbiBjYXNlIG9mIGJhY2t3YXJkIGNvbXBhdGliaWxpdGllcyBpc3N1ZXMuCisrCisrTUFS S0RPV05fU1VQUE9SVCAgICAgICA9IFlFUworKworKyMgV2hlbiBlbmFibGVkIGRveHlnZW4gdHJp ZXMgdG8gbGluayB3b3JkcyB0aGF0IGNvcnJlc3BvbmQgdG8gZG9jdW1lbnRlZAorKyMgY2xhc3Nl cywgb3IgbmFtZXNwYWNlcyB0byB0aGVpciBjb3JyZXNwb25kaW5nIGRvY3VtZW50YXRpb24uIFN1 Y2ggYSBsaW5rIGNhbgorKyMgYmUgcHJldmVudGVkIGluIGluZGl2aWR1YWwgY2FzZXMgYnkgYnkg cHV0dGluZyBhICUgc2lnbiBpbiBmcm9udCBvZiB0aGUgd29yZAorKyMgb3IgZ2xvYmFsbHkgYnkg c2V0dGluZyBBVVRPTElOS19TVVBQT1JUIHRvIE5PLgorKworK0FVVE9MSU5LX1NVUFBPUlQgICAg ICAgPSBZRVMKKysKKyAjIElmIHlvdSB1c2UgU1RMIGNsYXNzZXMgKGkuZS4gc3RkOjpzdHJpbmcs IHN0ZDo6dmVjdG9yLCBldGMuKSBidXQgZG8gbm90IHdhbnQKKyAjIHRvIGluY2x1ZGUgKGEgdGFn IGZpbGUgZm9yKSB0aGUgU1RMIHNvdXJjZXMgYXMgaW5wdXQsIHRoZW4geW91IHNob3VsZAorICMg c2V0IHRoaXMgdGFnIHRvIFlFUyBpbiBvcmRlciB0byBsZXQgZG94eWdlbiBtYXRjaCBmdW5jdGlv bnMgZGVjbGFyYXRpb25zIGFuZAorICMgZGVmaW5pdGlvbnMgd2hvc2UgYXJndW1lbnRzIGNvbnRh aW4gU1RMIGNsYXNzZXMgKGUuZy4gZnVuYyhzdGQ6OnN0cmluZyk7IHYucy4KKy0jIGZ1bmMoc3Rk OjpzdHJpbmcpIHt9KS4gVGhpcyBhbHNvIG1ha2UgdGhlIGluaGVyaXRhbmNlIGFuZCBjb2xsYWJv cmF0aW9uCisrIyBmdW5jKHN0ZDo6c3RyaW5nKSB7fSkuIFRoaXMgYWxzbyBtYWtlcyB0aGUgaW5o ZXJpdGFuY2UgYW5kIGNvbGxhYm9yYXRpb24KKyAjIGRpYWdyYW1zIHRoYXQgaW52b2x2ZSBTVEwg Y2xhc3NlcyBtb3JlIGNvbXBsZXRlIGFuZCBhY2N1cmF0ZS4KKyAKKyBCVUlMVElOX1NUTF9TVVBQ T1JUICAgID0gWUVTCitAQCAtMjI3LDEwICsyODEsMTAgQEAgQ1BQX0NMSV9TVVBQT1JUICAgICAg ICA9IE5PCisgCisgU0lQX1NVUFBPUlQgICAgICAgICAgICA9IE5PCisgCistIyBGb3IgTWljcm9z b2Z0J3MgSURMIHRoZXJlIGFyZSBwcm9wZ2V0IGFuZCBwcm9wcHV0IGF0dHJpYnV0ZXMgdG8gaW5k aWNhdGUgZ2V0dGVyCistIyBhbmQgc2V0dGVyIG1ldGhvZHMgZm9yIGEgcHJvcGVydHkuIFNldHRp bmcgdGhpcyBvcHRpb24gdG8gWUVTICh0aGUgZGVmYXVsdCkKKy0jIHdpbGwgbWFrZSBkb3h5Z2Vu IHRvIHJlcGxhY2UgdGhlIGdldCBhbmQgc2V0IG1ldGhvZHMgYnkgYSBwcm9wZXJ0eSBpbiB0aGUK Ky0jIGRvY3VtZW50YXRpb24uIFRoaXMgd2lsbCBvbmx5IHdvcmsgaWYgdGhlIG1ldGhvZHMgYXJl IGluZGVlZCBnZXR0aW5nIG9yCisrIyBGb3IgTWljcm9zb2Z0J3MgSURMIHRoZXJlIGFyZSBwcm9w Z2V0IGFuZCBwcm9wcHV0IGF0dHJpYnV0ZXMgdG8gaW5kaWNhdGUKKysjIGdldHRlciBhbmQgc2V0 dGVyIG1ldGhvZHMgZm9yIGEgcHJvcGVydHkuIFNldHRpbmcgdGhpcyBvcHRpb24gdG8gWUVTICh0 aGUKKysjIGRlZmF1bHQpIHdpbGwgbWFrZSBkb3h5Z2VuIHJlcGxhY2UgdGhlIGdldCBhbmQgc2V0 IG1ldGhvZHMgYnkgYSBwcm9wZXJ0eSBpbgorKyMgdGhlIGRvY3VtZW50YXRpb24uIFRoaXMgd2ls bCBvbmx5IHdvcmsgaWYgdGhlIG1ldGhvZHMgYXJlIGluZGVlZCBnZXR0aW5nIG9yCisgIyBzZXR0 aW5nIGEgc2ltcGxlIHR5cGUuIElmIHRoaXMgaXMgbm90IHRoZSBjYXNlLCBvciB5b3Ugd2FudCB0 byBzaG93IHRoZQorICMgbWV0aG9kcyBhbnl3YXksIHlvdSBzaG91bGQgc2V0IHRoaXMgb3B0aW9u IHRvIE5PLgorIAorQEAgLTI1MSw2ICszMDUsMjIgQEAgRElTVFJJQlVURV9HUk9VUF9ET0MgICA9 IE5PCisgCisgU1VCR1JPVVBJTkcgICAgICAgICAgICA9IFlFUworIAorKyMgV2hlbiB0aGUgSU5M SU5FX0dST1VQRURfQ0xBU1NFUyB0YWcgaXMgc2V0IHRvIFlFUywgY2xhc3Nlcywgc3RydWN0cyBh bmQKKysjIHVuaW9ucyBhcmUgc2hvd24gaW5zaWRlIHRoZSBncm91cCBpbiB3aGljaCB0aGV5IGFy ZSBpbmNsdWRlZCAoZS5nLiB1c2luZworKyMgQGluZ3JvdXApIGluc3RlYWQgb2Ygb24gYSBzZXBh cmF0ZSBwYWdlIChmb3IgSFRNTCBhbmQgTWFuIHBhZ2VzKSBvcgorKyMgc2VjdGlvbiAoZm9yIExh VGVYIGFuZCBSVEYpLgorKworK0lOTElORV9HUk9VUEVEX0NMQVNTRVMgPSBOTworKworKyMgV2hl biB0aGUgSU5MSU5FX1NJTVBMRV9TVFJVQ1RTIHRhZyBpcyBzZXQgdG8gWUVTLCBzdHJ1Y3RzLCBj bGFzc2VzLCBhbmQKKysjIHVuaW9ucyB3aXRoIG9ubHkgcHVibGljIGRhdGEgZmllbGRzIG9yIHNp bXBsZSB0eXBlZGVmIGZpZWxkcyB3aWxsIGJlIHNob3duCisrIyBpbmxpbmUgaW4gdGhlIGRvY3Vt ZW50YXRpb24gb2YgdGhlIHNjb3BlIGluIHdoaWNoIHRoZXkgYXJlIGRlZmluZWQgKGkuZS4gZmls ZSwKKysjIG5hbWVzcGFjZSwgb3IgZ3JvdXAgZG9jdW1lbnRhdGlvbiksIHByb3ZpZGVkIHRoaXMg c2NvcGUgaXMgZG9jdW1lbnRlZC4gSWYgc2V0CisrIyB0byBOTyAodGhlIGRlZmF1bHQpLCBzdHJ1 Y3RzLCBjbGFzc2VzLCBhbmQgdW5pb25zIGFyZSBzaG93biBvbiBhIHNlcGFyYXRlCisrIyBwYWdl IChmb3IgSFRNTCBhbmQgTWFuIHBhZ2VzKSBvciBzZWN0aW9uIChmb3IgTGFUZVggYW5kIFJURiku CisrCisrSU5MSU5FX1NJTVBMRV9TVFJVQ1RTICA9IE5PCisrCisgIyBXaGVuIFRZUEVERUZfSElE RVNfU1RSVUNUIGlzIGVuYWJsZWQsIGEgdHlwZWRlZiBvZiBhIHN0cnVjdCwgdW5pb24sIG9yIGVu dW0KKyAjIGlzIGRvY3VtZW50ZWQgYXMgc3RydWN0LCB1bmlvbiwgb3IgZW51bSB3aXRoIHRoZSBu YW1lIG9mIHRoZSB0eXBlZGVmLiBTbworICMgdHlwZWRlZiBzdHJ1Y3QgVHlwZVMge30gVHlwZVQs IHdpbGwgYXBwZWFyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFzIGEgc3RydWN0CitAQCAtMjYxLDIx ICszMzEsMTYgQEAgU1VCR1JPVVBJTkcgICAgICAgICAgICA9IFlFUworIAorIFRZUEVERUZfSElE RVNfU1RSVUNUICAgPSBOTworIAorLSMgVGhlIFNZTUJPTF9DQUNIRV9TSVpFIGRldGVybWluZXMg dGhlIHNpemUgb2YgdGhlIGludGVybmFsIGNhY2hlIHVzZSB0bworLSMgZGV0ZXJtaW5lIHdoaWNo IHN5bWJvbHMgdG8ga2VlcCBpbiBtZW1vcnkgYW5kIHdoaWNoIHRvIGZsdXNoIHRvIGRpc2suCist IyBXaGVuIHRoZSBjYWNoZSBpcyBmdWxsLCBsZXNzIG9mdGVuIHVzZWQgc3ltYm9scyB3aWxsIGJl IHdyaXR0ZW4gdG8gZGlzay4KKy0jIEZvciBzbWFsbCB0byBtZWRpdW0gc2l6ZSBwcm9qZWN0cyAo PDEwMDAgaW5wdXQgZmlsZXMpIHRoZSBkZWZhdWx0IHZhbHVlIGlzCistIyBwcm9iYWJseSBnb29k IGVub3VnaC4gRm9yIGxhcmdlciBwcm9qZWN0cyBhIHRvbyBzbWFsbCBjYWNoZSBzaXplIGNhbiBj YXVzZQorLSMgZG94eWdlbiB0byBiZSBidXN5IHN3YXBwaW5nIHN5bWJvbHMgdG8gYW5kIGZyb20g ZGlzayBtb3N0IG9mIHRoZSB0aW1lCistIyBjYXVzaW5nIGEgc2lnbmlmaWNhbnQgcGVyZm9ybWFu Y2UgcGVuYWxpdHkuCistIyBJZiB0aGUgc3lzdGVtIGhhcyBlbm91Z2ggcGh5c2ljYWwgbWVtb3J5 IGluY3JlYXNpbmcgdGhlIGNhY2hlIHdpbGwgaW1wcm92ZSB0aGUKKy0jIHBlcmZvcm1hbmNlIGJ5 IGtlZXBpbmcgbW9yZSBzeW1ib2xzIGluIG1lbW9yeS4gTm90ZSB0aGF0IHRoZSB2YWx1ZSB3b3Jr cyBvbgorLSMgYSBsb2dhcml0aG1pYyBzY2FsZSBzbyBpbmNyZWFzaW5nIHRoZSBzaXplIGJ5IG9u ZSB3aWxsIHJvdWdseSBkb3VibGUgdGhlCistIyBtZW1vcnkgdXNhZ2UuIFRoZSBjYWNoZSBzaXpl IGlzIGdpdmVuIGJ5IHRoaXMgZm9ybXVsYToKKy0jIDJeKDE2K1NZTUJPTF9DQUNIRV9TSVpFKS4g VGhlIHZhbGlkIHJhbmdlIGlzIDAuLjksIHRoZSBkZWZhdWx0IGlzIDAsCistIyBjb3JyZXNwb25k aW5nIHRvIGEgY2FjaGUgc2l6ZSBvZiAyXjE2ID0gNjU1MzYgc3ltYm9scworLQorLVNZTUJPTF9D QUNIRV9TSVpFICAgICAgPSA0CisrIyBUaGUgc2l6ZSBvZiB0aGUgc3ltYm9sIGxvb2t1cCBjYWNo ZSBjYW4gYmUgc2V0IHVzaW5nIExPT0tVUF9DQUNIRV9TSVpFLiBUaGlzCisrIyBjYWNoZSBpcyB1 c2VkIHRvIHJlc29sdmUgc3ltYm9scyBnaXZlbiB0aGVpciBuYW1lIGFuZCBzY29wZS4gU2luY2Ug dGhpcyBjYW4KKysjIGJlIGFuIGV4cGVuc2l2ZSBwcm9jZXNzIGFuZCBvZnRlbiB0aGUgc2FtZSBz eW1ib2wgYXBwZWFyIG11bHRpcGxlIHRpbWVzIGluCisrIyB0aGUgY29kZSwgZG94eWdlbiBrZWVw cyBhIGNhY2hlIG9mIHByZS1yZXNvbHZlZCBzeW1ib2xzLiBJZiB0aGUgY2FjaGUgaXMgdG9vCisr IyBzbWFsbCBkb3h5Z2VuIHdpbGwgYmVjb21lIHNsb3dlci4gSWYgdGhlIGNhY2hlIGlzIHRvbyBs YXJnZSwgbWVtb3J5IGlzIHdhc3RlZC4KKysjIFRoZSBjYWNoZSBzaXplIGlzIGdpdmVuIGJ5IHRo aXMgZm9ybXVsYTogMl4oMTYrTE9PS1VQX0NBQ0hFX1NJWkUpLiBUaGUgdmFsaWQKKysjIHJhbmdl IGlzIDAuLjksIHRoZSBkZWZhdWx0IGlzIDAsIGNvcnJlc3BvbmRpbmcgdG8gYSBjYWNoZSBzaXpl IG9mIDJeMTYgPSA2NTUzNgorKyMgc3ltYm9scy4KKysKKytMT09LVVBfQ0FDSEVfU0laRSAgICAg ID0gMAorIAorICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEJ1aWxkIHJlbGF0ZWQgY29uZmlndXJh dGlvbiBvcHRpb25zCitAQCAtMjg0LDcgKzM0OSw3IEBAIFNZTUJPTF9DQUNIRV9TSVpFICAgICAg PSA0CisgIyBJZiB0aGUgRVhUUkFDVF9BTEwgdGFnIGlzIHNldCB0byBZRVMgZG94eWdlbiB3aWxs IGFzc3VtZSBhbGwgZW50aXRpZXMgaW4KKyAjIGRvY3VtZW50YXRpb24gYXJlIGRvY3VtZW50ZWQs IGV2ZW4gaWYgbm8gZG9jdW1lbnRhdGlvbiB3YXMgYXZhaWxhYmxlLgorICMgUHJpdmF0ZSBjbGFz cyBtZW1iZXJzIGFuZCBzdGF0aWMgZmlsZSBtZW1iZXJzIHdpbGwgYmUgaGlkZGVuIHVubGVzcwor LSMgdGhlIEVYVFJBQ1RfUFJJVkFURSBhbmQgRVhUUkFDVF9TVEFUSUMgdGFncyBhcmUgc2V0IHRv IFlFUworKyMgdGhlIEVYVFJBQ1RfUFJJVkFURSByZXNwZWN0aXZlbHkgRVhUUkFDVF9TVEFUSUMg dGFncyBhcmUgc2V0IHRvIFlFUworIAorIEVYVFJBQ1RfQUxMICAgICAgICAgICAgPSBZRVMKKyAK K0BAIC0yOTMsNiArMzU4LDExIEBAIEVYVFJBQ1RfQUxMICAgICAgICAgICAgPSBZRVMKKyAKKyBF WFRSQUNUX1BSSVZBVEUgICAgICAgID0gTk8KKyAKKysjIElmIHRoZSBFWFRSQUNUX1BBQ0tBR0Ug dGFnIGlzIHNldCB0byBZRVMgYWxsIG1lbWJlcnMgd2l0aCBwYWNrYWdlIG9yIGludGVybmFsCisr IyBzY29wZSB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBkb2N1bWVudGF0aW9uLgorKworK0VYVFJB Q1RfUEFDS0FHRSAgICAgICAgPSBOTworKworICMgSWYgdGhlIEVYVFJBQ1RfU1RBVElDIHRhZyBp cyBzZXQgdG8gWUVTIGFsbCBzdGF0aWMgbWVtYmVycyBvZiBhIGZpbGUKKyAjIHdpbGwgYmUgaW5j bHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uCisgCitAQCAtMzE1LDcgKzM4NSw3IEBAIEVYVFJB Q1RfTE9DQUxfTUVUSE9EUyAgPSBOTworICMgZXh0cmFjdGVkIGFuZCBhcHBlYXIgaW4gdGhlIGRv Y3VtZW50YXRpb24gYXMgYSBuYW1lc3BhY2UgY2FsbGVkCisgIyAnYW5vbnltb3VzX25hbWVzcGFj ZXtmaWxlfScsIHdoZXJlIGZpbGUgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBiYXNlCisgIyBu YW1lIG9mIHRoZSBmaWxlIHRoYXQgY29udGFpbnMgdGhlIGFub255bW91cyBuYW1lc3BhY2UuIEJ5 IGRlZmF1bHQKKy0jIGFub255bW91cyBuYW1lc3BhY2UgYXJlIGhpZGRlbi4KKysjIGFub255bW91 cyBuYW1lc3BhY2VzIGFyZSBoaWRkZW4uCisgCisgRVhUUkFDVF9BTk9OX05TUEFDRVMgICA9IE5P CisgCitAQCAtMzc1LDYgKzQ0NSwxMiBAQCBISURFX1NDT1BFX05BTUVTICAgICAgID0gTk8KKyAK KyBTSE9XX0lOQ0xVREVfRklMRVMgICAgID0gWUVTCisgCisrIyBJZiB0aGUgRk9SQ0VfTE9DQUxf SU5DTFVERVMgdGFnIGlzIHNldCB0byBZRVMgdGhlbiBEb3h5Z2VuCisrIyB3aWxsIGxpc3QgaW5j bHVkZSBmaWxlcyB3aXRoIGRvdWJsZSBxdW90ZXMgaW4gdGhlIGRvY3VtZW50YXRpb24KKysjIHJh dGhlciB0aGFuIHdpdGggc2hhcnAgYnJhY2tldHMuCisrCisrRk9SQ0VfTE9DQUxfSU5DTFVERVMg ICA9IE5PCisrCisgIyBJZiB0aGUgSU5MSU5FX0lORk8gdGFnIGlzIHNldCB0byBZRVMgKHRoZSBk ZWZhdWx0KSB0aGVuIGEgdGFnIFtpbmxpbmVdCisgIyBpcyBpbnNlcnRlZCBpbiB0aGUgZG9jdW1l bnRhdGlvbiBmb3IgaW5saW5lIG1lbWJlcnMuCisgCitAQCAtMzk0LDYgKzQ3MCwxNiBAQCBTT1JU X01FTUJFUl9ET0NTICAgICAgID0gWUVTCisgCisgU09SVF9CUklFRl9ET0NTICAgICAgICA9IE5P CisgCisrIyBJZiB0aGUgU09SVF9NRU1CRVJTX0NUT1JTXzFTVCB0YWcgaXMgc2V0IHRvIFlFUyB0 aGVuIGRveHlnZW4KKysjIHdpbGwgc29ydCB0aGUgKGJyaWVmIGFuZCBkZXRhaWxlZCkgZG9jdW1l bnRhdGlvbiBvZiBjbGFzcyBtZW1iZXJzIHNvIHRoYXQKKysjIGNvbnN0cnVjdG9ycyBhbmQgZGVz dHJ1Y3RvcnMgYXJlIGxpc3RlZCBmaXJzdC4gSWYgc2V0IHRvIE5PICh0aGUgZGVmYXVsdCkKKysj IHRoZSBjb25zdHJ1Y3RvcnMgd2lsbCBhcHBlYXIgaW4gdGhlIHJlc3BlY3RpdmUgb3JkZXJzIGRl ZmluZWQgYnkKKysjIFNPUlRfTUVNQkVSX0RPQ1MgYW5kIFNPUlRfQlJJRUZfRE9DUy4KKysjIFRo aXMgdGFnIHdpbGwgYmUgaWdub3JlZCBmb3IgYnJpZWYgZG9jcyBpZiBTT1JUX0JSSUVGX0RPQ1Mg aXMgc2V0IHRvIE5PCisrIyBhbmQgaWdub3JlZCBmb3IgZGV0YWlsZWQgZG9jcyBpZiBTT1JUX01F TUJFUl9ET0NTIGlzIHNldCB0byBOTy4KKysKKytTT1JUX01FTUJFUlNfQ1RPUlNfMVNUID0gTk8K KysKKyAjIElmIHRoZSBTT1JUX0dST1VQX05BTUVTIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gZG94 eWdlbiB3aWxsIHNvcnQgdGhlCisgIyBoaWVyYXJjaHkgb2YgZ3JvdXAgbmFtZXMgaW50byBhbHBo YWJldGljYWwgb3JkZXIuIElmIHNldCB0byBOTyAodGhlIGRlZmF1bHQpCisgIyB0aGUgZ3JvdXAg bmFtZXMgd2lsbCBhcHBlYXIgaW4gdGhlaXIgZGVmaW5lZCBvcmRlci4KK0BAIC00MTAsNiArNDk2 LDE1IEBAIFNPUlRfR1JPVVBfTkFNRVMgICAgICAgPSBOTworIAorIFNPUlRfQllfU0NPUEVfTkFN RSAgICAgPSBOTworIAorKyMgSWYgdGhlIFNUUklDVF9QUk9UT19NQVRDSElORyBvcHRpb24gaXMg ZW5hYmxlZCBhbmQgZG94eWdlbiBmYWlscyB0bworKyMgZG8gcHJvcGVyIHR5cGUgcmVzb2x1dGlv biBvZiBhbGwgcGFyYW1ldGVycyBvZiBhIGZ1bmN0aW9uIGl0IHdpbGwgcmVqZWN0IGEKKysjIG1h dGNoIGJldHdlZW4gdGhlIHByb3RvdHlwZSBhbmQgdGhlIGltcGxlbWVudGF0aW9uIG9mIGEgbWVt YmVyIGZ1bmN0aW9uIGV2ZW4KKysjIGlmIHRoZXJlIGlzIG9ubHkgb25lIGNhbmRpZGF0ZSBvciBp dCBpcyBvYnZpb3VzIHdoaWNoIGNhbmRpZGF0ZSB0byBjaG9vc2UKKysjIGJ5IGRvaW5nIGEgc2lt cGxlIHN0cmluZyBtYXRjaC4gQnkgZGlzYWJsaW5nIFNUUklDVF9QUk9UT19NQVRDSElORyBkb3h5 Z2VuCisrIyB3aWxsIHN0aWxsIGFjY2VwdCBhIG1hdGNoIGJldHdlZW4gcHJvdG90eXBlIGFuZCBp bXBsZW1lbnRhdGlvbiBpbiBzdWNoIGNhc2VzLgorKworK1NUUklDVF9QUk9UT19NQVRDSElORyAg PSBOTworKworICMgVGhlIEdFTkVSQVRFX1RPRE9MSVNUIHRhZyBjYW4gYmUgdXNlZCB0byBlbmFi bGUgKFlFUykgb3IKKyAjIGRpc2FibGUgKE5PKSB0aGUgdG9kbyBsaXN0LiBUaGlzIGxpc3QgaXMg Y3JlYXRlZCBieSBwdXR0aW5nIFx0b2RvCisgIyBjb21tYW5kcyBpbiB0aGUgZG9jdW1lbnRhdGlv bi4KK0BAIC00MzUsMTUgKzUzMCwxNiBAQCBHRU5FUkFURV9CVUdMSVNUICAgICAgID0gTk8KKyBH RU5FUkFURV9ERVBSRUNBVEVETElTVD0gTk8KKyAKKyAjIFRoZSBFTkFCTEVEX1NFQ1RJT05TIHRh ZyBjYW4gYmUgdXNlZCB0byBlbmFibGUgY29uZGl0aW9uYWwKKy0jIGRvY3VtZW50YXRpb24gc2Vj dGlvbnMsIG1hcmtlZCBieSBcaWYgc2VjdGlvbm5hbWUgLi4uIFxlbmRpZi4KKysjIGRvY3VtZW50 YXRpb24gc2VjdGlvbnMsIG1hcmtlZCBieSBcaWYgc2VjdGlvbi1sYWJlbCAuLi4gXGVuZGlmCisr IyBhbmQgXGNvbmQgc2VjdGlvbi1sYWJlbCAuLi4gXGVuZGNvbmQgYmxvY2tzLgorIAorIEVOQUJM RURfU0VDVElPTlMgICAgICAgPQorIAorICMgVGhlIE1BWF9JTklUSUFMSVpFUl9MSU5FUyB0YWcg ZGV0ZXJtaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMKKy0jIHRoZSBpbml0aWFsIHZh bHVlIG9mIGEgdmFyaWFibGUgb3IgZGVmaW5lIGNvbnNpc3RzIG9mIGZvciBpdCB0byBhcHBlYXIg aW4KKysjIHRoZSBpbml0aWFsIHZhbHVlIG9mIGEgdmFyaWFibGUgb3IgbWFjcm8gY29uc2lzdHMg b2YgZm9yIGl0IHRvIGFwcGVhciBpbgorICMgdGhlIGRvY3VtZW50YXRpb24uIElmIHRoZSBpbml0 aWFsaXplciBjb25zaXN0cyBvZiBtb3JlIGxpbmVzIHRoYW4gc3BlY2lmaWVkCisgIyBoZXJlIGl0 IHdpbGwgYmUgaGlkZGVuLiBVc2UgYSB2YWx1ZSBvZiAwIHRvIGhpZGUgaW5pdGlhbGl6ZXJzIGNv bXBsZXRlbHkuCistIyBUaGUgYXBwZWFyYW5jZSBvZiB0aGUgaW5pdGlhbGl6ZXIgb2YgaW5kaXZp ZHVhbCB2YXJpYWJsZXMgYW5kIGRlZmluZXMgaW4gdGhlCisrIyBUaGUgYXBwZWFyYW5jZSBvZiB0 aGUgaW5pdGlhbGl6ZXIgb2YgaW5kaXZpZHVhbCB2YXJpYWJsZXMgYW5kIG1hY3JvcyBpbiB0aGUK KyAjIGRvY3VtZW50YXRpb24gY2FuIGJlIGNvbnRyb2xsZWQgdXNpbmcgXHNob3dpbml0aWFsaXpl ciBvciBcaGlkZWluaXRpYWxpemVyCisgIyBjb21tYW5kIGluIHRoZSBkb2N1bWVudGF0aW9uIHJl Z2FyZGxlc3Mgb2YgdGhpcyBzZXR0aW5nLgorIAorQEAgLTQ1NSwxMiArNTUxLDYgQEAgTUFYX0lO SVRJQUxJWkVSX0xJTkVTICA9IDMwCisgCisgU0hPV19VU0VEX0ZJTEVTICAgICAgICA9IFlFUwor IAorLSMgSWYgdGhlIHNvdXJjZXMgaW4geW91ciBwcm9qZWN0IGFyZSBkaXN0cmlidXRlZCBvdmVy IG11bHRpcGxlIGRpcmVjdG9yaWVzCistIyB0aGVuIHNldHRpbmcgdGhlIFNIT1dfRElSRUNUT1JJ RVMgdGFnIHRvIFlFUyB3aWxsIHNob3cgdGhlIGRpcmVjdG9yeSBoaWVyYXJjaHkKKy0jIGluIHRo ZSBkb2N1bWVudGF0aW9uLiBUaGUgZGVmYXVsdCBpcyBOTy4KKy0KKy1TSE9XX0RJUkVDVE9SSUVT ICAgICAgID0gTk8KKy0KKyAjIFNldCB0aGUgU0hPV19GSUxFUyB0YWcgdG8gTk8gdG8gZGlzYWJs ZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgRmlsZXMgcGFnZS4KKyAjIFRoaXMgd2lsbCByZW1vdmUg dGhlIEZpbGVzIGVudHJ5IGZyb20gdGhlIFF1aWNrIEluZGV4IGFuZCBmcm9tIHRoZQorICMgRm9s ZGVyIFRyZWUgVmlldyAoaWYgc3BlY2lmaWVkKS4gVGhlIGRlZmF1bHQgaXMgWUVTLgorQEAgLTQ2 OCw3ICs1NTgsOCBAQCBTSE9XX0RJUkVDVE9SSUVTICAgICAgID0gTk8KKyBTSE9XX0ZJTEVTICAg ICAgICAgICAgID0gWUVTCisgCisgIyBTZXQgdGhlIFNIT1dfTkFNRVNQQUNFUyB0YWcgdG8gTk8g dG8gZGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUKKy0jIE5hbWVzcGFjZXMgcGFnZS4gIFRo aXMgd2lsbCByZW1vdmUgdGhlIE5hbWVzcGFjZXMgZW50cnkgZnJvbSB0aGUgUXVpY2sgSW5kZXgK KysjIE5hbWVzcGFjZXMgcGFnZS4KKysjIFRoaXMgd2lsbCByZW1vdmUgdGhlIE5hbWVzcGFjZXMg ZW50cnkgZnJvbSB0aGUgUXVpY2sgSW5kZXgKKyAjIGFuZCBmcm9tIHRoZSBGb2xkZXIgVHJlZSBW aWV3IChpZiBzcGVjaWZpZWQpLiBUaGUgZGVmYXVsdCBpcyBZRVMuCisgCisgU0hPV19OQU1FU1BB Q0VTICAgICAgICA9IE5PCitAQCAtNDgzLDE1ICs1NzQsMjYgQEAgU0hPV19OQU1FU1BBQ0VTICAg ICAgICA9IE5PCisgCisgRklMRV9WRVJTSU9OX0ZJTFRFUiAgICA9CisgCistIyBUaGUgTEFZT1VU X0ZJTEUgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBsYXlvdXQgZmlsZSB3aGljaCB3aWxs IGJlIHBhcnNlZCBieQorLSMgZG94eWdlbi4gVGhlIGxheW91dCBmaWxlIGNvbnRyb2xzIHRoZSBn bG9iYWwgc3RydWN0dXJlIG9mIHRoZSBnZW5lcmF0ZWQgb3V0cHV0IGZpbGVzCistIyBpbiBhbiBv dXRwdXQgZm9ybWF0IGluZGVwZW5kZW50IHdheS4gVGhlIGNyZWF0ZSB0aGUgbGF5b3V0IGZpbGUg dGhhdCByZXByZXNlbnRzCistIyBkb3h5Z2VuJ3MgZGVmYXVsdHMsIHJ1biBkb3h5Z2VuIHdpdGgg dGhlIC1sIG9wdGlvbi4gWW91IGNhbiBvcHRpb25hbGx5IHNwZWNpZnkgYQorLSMgZmlsZSBuYW1l IGFmdGVyIHRoZSBvcHRpb24sIGlmIG9taXR0ZWQgRG94eWdlbkxheW91dC54bWwgd2lsbCBiZSB1 c2VkIGFzIHRoZSBuYW1lCistIyBvZiB0aGUgbGF5b3V0IGZpbGUuCisrIyBUaGUgTEFZT1VUX0ZJ TEUgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBsYXlvdXQgZmlsZSB3aGljaCB3aWxsIGJl IHBhcnNlZAorKyMgYnkgZG94eWdlbi4gVGhlIGxheW91dCBmaWxlIGNvbnRyb2xzIHRoZSBnbG9i YWwgc3RydWN0dXJlIG9mIHRoZSBnZW5lcmF0ZWQKKysjIG91dHB1dCBmaWxlcyBpbiBhbiBvdXRw dXQgZm9ybWF0IGluZGVwZW5kZW50IHdheS4gVG8gY3JlYXRlIHRoZSBsYXlvdXQgZmlsZQorKyMg dGhhdCByZXByZXNlbnRzIGRveHlnZW4ncyBkZWZhdWx0cywgcnVuIGRveHlnZW4gd2l0aCB0aGUg LWwgb3B0aW9uLgorKyMgWW91IGNhbiBvcHRpb25hbGx5IHNwZWNpZnkgYSBmaWxlIG5hbWUgYWZ0 ZXIgdGhlIG9wdGlvbiwgaWYgb21pdHRlZAorKyMgRG94eWdlbkxheW91dC54bWwgd2lsbCBiZSB1 c2VkIGFzIHRoZSBuYW1lIG9mIHRoZSBsYXlvdXQgZmlsZS4KKyAKKyBMQVlPVVRfRklMRSAgICAg ICAgICAgID0KKyAKKysjIFRoZSBDSVRFX0JJQl9GSUxFUyB0YWcgY2FuIGJlIHVzZWQgdG8gc3Bl Y2lmeSBvbmUgb3IgbW9yZSBiaWIgZmlsZXMKKysjIGNvbnRhaW5pbmcgdGhlIHJlZmVyZW5jZXMg ZGF0YS4gVGhpcyBtdXN0IGJlIGEgbGlzdCBvZiAuYmliIGZpbGVzLiBUaGUKKysjIC5iaWIgZXh0 ZW5zaW9uIGlzIGF1dG9tYXRpY2FsbHkgYXBwZW5kZWQgaWYgb21pdHRlZC4gVXNpbmcgdGhpcyBj b21tYW5kCisrIyByZXF1aXJlcyB0aGUgYmlidGV4IHRvb2wgdG8gYmUgaW5zdGFsbGVkLiBTZWUg YWxzbworKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CaWJUZVggZm9yIG1vcmUgaW5m by4gRm9yIExhVGVYIHRoZSBzdHlsZQorKyMgb2YgdGhlIGJpYmxpb2dyYXBoeSBjYW4gYmUgY29u dHJvbGxlZCB1c2luZyBMQVRFWF9CSUJfU1RZTEUuIFRvIHVzZSB0aGlzCisrIyBmZWF0dXJlIHlv dSBuZWVkIGJpYnRleCBhbmQgcGVybCBhdmFpbGFibGUgaW4gdGhlIHNlYXJjaCBwYXRoLiBEbyBu b3QgdXNlCisrIyBmaWxlIG5hbWVzIHdpdGggc3BhY2VzLCBiaWJ0ZXggY2Fubm90IGhhbmRsZSB0 aGVtLgorKworK0NJVEVfQklCX0ZJTEVTICAgICAgICAgPQorKworICMtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAjIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHdhcm5pbmcgYW5kIHByb2dy ZXNzIG1lc3NhZ2VzCisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAgLTUyMCw3ICs2MjIsNyBAQCBX QVJOX0lGX1VORE9DVU1FTlRFRCAgID0gWUVTCisgCisgV0FSTl9JRl9ET0NfRVJST1IgICAgICA9 IFlFUworIAorLSMgVGhpcyBXQVJOX05PX1BBUkFNRE9DIG9wdGlvbiBjYW4gYmUgYWJsZWQgdG8g Z2V0IHdhcm5pbmdzIGZvcgorKyMgVGhlIFdBUk5fTk9fUEFSQU1ET0Mgb3B0aW9uIGNhbiBiZSBl bmFibGVkIHRvIGdldCB3YXJuaW5ncyBmb3IKKyAjIGZ1bmN0aW9ucyB0aGF0IGFyZSBkb2N1bWVu dGVkLCBidXQgaGF2ZSBubyBkb2N1bWVudGF0aW9uIGZvciB0aGVpciBwYXJhbWV0ZXJzCisgIyBv ciByZXR1cm4gdmFsdWUuIElmIHNldCB0byBOTyAodGhlIGRlZmF1bHQpIGRveHlnZW4gd2lsbCBv bmx5IHdhcm4gYWJvdXQKKyAjIHdyb25nIG9yIGluY29tcGxldGUgcGFyYW1ldGVyIGRvY3VtZW50 YXRpb24sIGJ1dCBub3QgYWJvdXQgdGhlIGFic2VuY2Ugb2YKK0BAIC01NTIsNyArNjU0LDggQEAg V0FSTl9MT0dGSUxFICAgICAgICAgICA9CisgIyBkaXJlY3RvcmllcyBsaWtlICIvdXNyL3NyYy9t eXByb2plY3QiLiBTZXBhcmF0ZSB0aGUgZmlsZXMgb3IgZGlyZWN0b3JpZXMKKyAjIHdpdGggc3Bh Y2VzLgorIAorLUlOUFVUICAgICAgICAgICAgICAgICAgPSBAdG9wX3NyY2RpckAgQHRvcF9idWls ZGRpckAKKytJTlBVVCAgICAgICAgICAgICAgICAgID0gQHRvcF9zcmNkaXJAIFwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgQHRvcF9idWlsZGRpckAKKyAKKyAjIFRoaXMgdGFnIGNhbiBiZSB1 c2VkIHRvIHNwZWNpZnkgdGhlIGNoYXJhY3RlciBlbmNvZGluZyBvZiB0aGUgc291cmNlIGZpbGVz CisgIyB0aGF0IGRveHlnZW4gcGFyc2VzLiBJbnRlcm5hbGx5IGRveHlnZW4gdXNlcyB0aGUgVVRG LTggZW5jb2RpbmcsIHdoaWNoIGlzCitAQCAtNTY2LDggKzY2OSw5IEBAIElOUFVUX0VOQ09ESU5H ICAgICAgICAgPSBVVEYtOAorICMgRklMRV9QQVRURVJOUyB0YWcgdG8gc3BlY2lmeSBvbmUgb3Ig bW9yZSB3aWxkY2FyZCBwYXR0ZXJuIChsaWtlICouY3BwCisgIyBhbmQgKi5oKSB0byBmaWx0ZXIg b3V0IHRoZSBzb3VyY2UtZmlsZXMgaW4gdGhlIGRpcmVjdG9yaWVzLiBJZiBsZWZ0CisgIyBibGFu ayB0aGUgZm9sbG93aW5nIHBhdHRlcm5zIGFyZSB0ZXN0ZWQ6CistIyAqLmMgKi5jYyAqLmN4eCAq LmNwcCAqLmMrKyAqLmphdmEgKi5paSAqLml4eCAqLmlwcCAqLmkrKyAqLmlubCAqLmggKi5oaCAq Lmh4eAorLSMgKi5ocHAgKi5oKysgKi5pZGwgKi5vZGwgKi5jcyAqLnBocCAqLnBocDMgKi5pbmMg Ki5tICoubW0gKi5weSAqLmY5MAorKyMgKi5jICouY2MgKi5jeHggKi5jcHAgKi5jKysgKi5kICou amF2YSAqLmlpICouaXh4ICouaXBwICouaSsrICouaW5sICouaCAqLmhoCisrIyAqLmh4eCAqLmhw cCAqLmgrKyAqLmlkbCAqLm9kbCAqLmNzICoucGhwICoucGhwMyAqLmluYyAqLm0gKi5tbSAqLmRv eCAqLnB5CisrIyAqLmY5MCAqLmYgKi5mb3IgKi52aGQgKi52aGRsCisgCisgRklMRV9QQVRURVJO UyAgICAgICAgICA9ICouaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICouZG94CitAQCAt NTc4LDE4ICs2ODIsMjAgQEAgRklMRV9QQVRURVJOUyAgICAgICAgICA9ICouaCBcCisgCisgUkVD VVJTSVZFICAgICAgICAgICAgICA9IFlFUworIAorLSMgVGhlIEVYQ0xVREUgdGFnIGNhbiBiZSB1 c2VkIHRvIHNwZWNpZnkgZmlsZXMgYW5kL29yIGRpcmVjdG9yaWVzIHRoYXQgc2hvdWxkCisrIyBU aGUgRVhDTFVERSB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBmaWxlcyBhbmQvb3IgZGlyZWN0 b3JpZXMgdGhhdCBzaG91bGQgYmUKKyAjIGV4Y2x1ZGVkIGZyb20gdGhlIElOUFVUIHNvdXJjZSBm aWxlcy4gVGhpcyB3YXkgeW91IGNhbiBlYXNpbHkgZXhjbHVkZSBhCisgIyBzdWJkaXJlY3Rvcnkg ZnJvbSBhIGRpcmVjdG9yeSB0cmVlIHdob3NlIHJvb3QgaXMgc3BlY2lmaWVkIHdpdGggdGhlIElO UFVUIHRhZy4KKysjIE5vdGUgdGhhdCByZWxhdGl2ZSBwYXRocyBhcmUgcmVsYXRpdmUgdG8gdGhl IGRpcmVjdG9yeSBmcm9tIHdoaWNoIGRveHlnZW4gaXMKKysjIHJ1bi4KKyAKKyBFWENMVURFICAg ICAgICAgICAgICAgID0gQGFic190b3BfYnVpbGRkaXJAL2RvY3MvZG94eWdlbi9odG1sIFwKKy0J CSAgICAgICAgIEBhYnNfdG9wX2J1aWxkZGlyQC9kb2NzL2RveHlnZW4veG1sIFwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgQGFic190b3BfYnVpbGRkaXJAL2RvY3MvZG94eWdlbi94bWwgXAor ICAgICAgICAgICAgICAgICAgICAgICAgICBAYWJzX3RvcF9idWlsZGRpckAvZG9jcy9kb3h5Z2Vu L290aGVyL2RveHlweS5weSBcCistCQkJIEBhYnNfdG9wX2J1aWxkZGlyQC9fQ1BhY2tfUGFja2Fn ZXMgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICBAYWJzX3RvcF9idWlsZGRpckAvX0NQYWNr X1BhY2thZ2VzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQGFic190b3Bfc3JjZGlyQC9j bWFrZQorIAorLSMgVGhlIEVYQ0xVREVfU1lNTElOS1MgdGFnIGNhbiBiZSB1c2VkIHNlbGVjdCB3 aGV0aGVyIG9yIG5vdCBmaWxlcyBvcgorLSMgZGlyZWN0b3JpZXMgdGhhdCBhcmUgc3ltYm9saWMg bGlua3MgKGEgVW5peCBmaWxlc3lzdGVtIGZlYXR1cmUpIGFyZSBleGNsdWRlZAorKyMgVGhlIEVY Q0xVREVfU1lNTElOS1MgdGFnIGNhbiBiZSB1c2VkIHRvIHNlbGVjdCB3aGV0aGVyIG9yIG5vdCBm aWxlcyBvcgorKyMgZGlyZWN0b3JpZXMgdGhhdCBhcmUgc3ltYm9saWMgbGlua3MgKGEgVW5peCBm aWxlIHN5c3RlbSBmZWF0dXJlKSBhcmUgZXhjbHVkZWQKKyAjIGZyb20gdGhlIGlucHV0LgorIAor IEVYQ0xVREVfU1lNTElOS1MgICAgICAgPSBOTworQEAgLTY2NywxOSArNzczLDI0IEBAIElNQUdF X1BBVEggICAgICAgICAgICAgPQorICMgYnkgZXhlY3V0aW5nICh2aWEgcG9wZW4oKSkgdGhlIGNv bW1hbmQgPGZpbHRlcj4gPGlucHV0LWZpbGU+LCB3aGVyZSA8ZmlsdGVyPgorICMgaXMgdGhlIHZh bHVlIG9mIHRoZSBJTlBVVF9GSUxURVIgdGFnLCBhbmQgPGlucHV0LWZpbGU+IGlzIHRoZSBuYW1l IG9mIGFuCisgIyBpbnB1dCBmaWxlLiBEb3h5Z2VuIHdpbGwgdGhlbiB1c2UgdGhlIG91dHB1dCB0 aGF0IHRoZSBmaWx0ZXIgcHJvZ3JhbSB3cml0ZXMKKy0jIHRvIHN0YW5kYXJkIG91dHB1dC4gIElm IEZJTFRFUl9QQVRURVJOUyBpcyBzcGVjaWZpZWQsIHRoaXMgdGFnIHdpbGwgYmUKKy0jIGlnbm9y ZWQuCisrIyB0byBzdGFuZGFyZCBvdXRwdXQuCisrIyBJZiBGSUxURVJfUEFUVEVSTlMgaXMgc3Bl Y2lmaWVkLCB0aGlzIHRhZyB3aWxsIGJlIGlnbm9yZWQuCisrIyBOb3RlIHRoYXQgdGhlIGZpbHRl ciBtdXN0IG5vdCBhZGQgb3IgcmVtb3ZlIGxpbmVzOyBpdCBpcyBhcHBsaWVkIGJlZm9yZSB0aGUK KysjIGNvZGUgaXMgc2Nhbm5lZCwgYnV0IG5vdCB3aGVuIHRoZSBvdXRwdXQgY29kZSBpcyBnZW5l cmF0ZWQuIElmIGxpbmVzIGFyZSBhZGRlZAorKyMgb3IgcmVtb3ZlZCwgdGhlIGFuY2hvcnMgd2ls bCBub3QgYmUgcGxhY2VkIGNvcnJlY3RseS4KKyAKKyBJTlBVVF9GSUxURVIgICAgICAgICAgID0K KyAKKyAjIFRoZSBGSUxURVJfUEFUVEVSTlMgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgZmls dGVycyBvbiBhIHBlciBmaWxlIHBhdHRlcm4KKy0jIGJhc2lzLiAgRG94eWdlbiB3aWxsIGNvbXBh cmUgdGhlIGZpbGUgbmFtZSB3aXRoIGVhY2ggcGF0dGVybiBhbmQgYXBwbHkgdGhlCistIyBmaWx0 ZXIgaWYgdGhlcmUgaXMgYSBtYXRjaC4gIFRoZSBmaWx0ZXJzIGFyZSBhIGxpc3Qgb2YgdGhlIGZv cm06CisrIyBiYXNpcy4KKysjIERveHlnZW4gd2lsbCBjb21wYXJlIHRoZSBmaWxlIG5hbWUgd2l0 aCBlYWNoIHBhdHRlcm4gYW5kIGFwcGx5IHRoZQorKyMgZmlsdGVyIGlmIHRoZXJlIGlzIGEgbWF0 Y2guCisrIyBUaGUgZmlsdGVycyBhcmUgYSBsaXN0IG9mIHRoZSBmb3JtOgorICMgcGF0dGVybj1m aWx0ZXIgKGxpa2UgKi5jcHA9bXlfY3BwX2ZpbHRlcikuIFNlZSBJTlBVVF9GSUxURVIgZm9yIGZ1 cnRoZXIKKy0jIGluZm8gb24gaG93IGZpbHRlcnMgYXJlIHVzZWQuIElmIEZJTFRFUl9QQVRURVJO UyBpcyBlbXB0eSwgSU5QVVRfRklMVEVSCistIyBpcyBhcHBsaWVkIHRvIGFsbCBmaWxlcy4KKysj IGluZm8gb24gaG93IGZpbHRlcnMgYXJlIHVzZWQuIElmIEZJTFRFUl9QQVRURVJOUyBpcyBlbXB0 eSBvciBpZgorKyMgbm9uIG9mIHRoZSBwYXR0ZXJucyBtYXRjaCB0aGUgZmlsZSBuYW1lLCBJTlBV VF9GSUxURVIgaXMgYXBwbGllZC4KKyAKKy1GSUxURVJfUEFUVEVSTlMgICAgICAgID0gKi5weT1A dG9wX3NyY2RpckAvZ251cmFkaW8tcnVudGltZS9kb2Mvb3RoZXIvZG94eXB5LnB5CisrRklMVEVS X1BBVFRFUk5TICAgICAgICA9ICoucHk9QHRvcF9zcmNkaXJAL2RvYy9kb3h5Z2VuL290aGVyL2Rv eHlweS5weQorIAorICMgSWYgdGhlIEZJTFRFUl9TT1VSQ0VfRklMRVMgdGFnIGlzIHNldCB0byBZ RVMsIHRoZSBpbnB1dCBmaWx0ZXIgKGlmIHNldCB1c2luZworICMgSU5QVVRfRklMVEVSKSB3aWxs IGJlIHVzZWQgdG8gZmlsdGVyIHRoZSBpbnB1dCBmaWxlcyB3aGVuIHByb2R1Y2luZyBzb3VyY2UK K0BAIC02ODcsNiArNzk4LDIxIEBAIEZJTFRFUl9QQVRURVJOUyAgICAgICAgPSAqLnB5PUB0b3Bf c3JjZGlyQC9nbnVyYWRpby1ydW50aW1lL2RvYy9vdGhlci9kb3h5cHkucHkKKyAKKyBGSUxURVJf U09VUkNFX0ZJTEVTICAgID0gTk8KKyAKKysjIFRoZSBGSUxURVJfU09VUkNFX1BBVFRFUk5TIHRh ZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHNvdXJjZSBmaWx0ZXJzIHBlciBmaWxlCisrIyBwYXR0 ZXJuLiBBIHBhdHRlcm4gd2lsbCBvdmVycmlkZSB0aGUgc2V0dGluZyBmb3IgRklMVEVSX1BBVFRF Uk4gKGlmIGFueSkKKysjIGFuZCBpdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGRpc2FibGUgc291cmNl IGZpbHRlcmluZyBmb3IgYSBzcGVjaWZpYyBwYXR0ZXJuCisrIyB1c2luZyAqLmV4dD0gKHNvIHdp dGhvdXQgbmFtaW5nIGEgZmlsdGVyKS4gVGhpcyBvcHRpb24gb25seSBoYXMgZWZmZWN0IHdoZW4K KysjIEZJTFRFUl9TT1VSQ0VfRklMRVMgaXMgZW5hYmxlZC4KKysKKytGSUxURVJfU09VUkNFX1BB VFRFUk5TID0KKysKKysjIElmIHRoZSBVU0VfTURfRklMRV9BU19NQUlOUEFHRSB0YWcgcmVmZXJz IHRvIHRoZSBuYW1lIG9mIGEgbWFya2Rvd24gZmlsZSB0aGF0CisrIyBpcyBwYXJ0IG9mIHRoZSBp bnB1dCwgaXRzIGNvbnRlbnRzIHdpbGwgYmUgcGxhY2VkIG9uIHRoZSBtYWluIHBhZ2UKKysjIChp bmRleC5odG1sKS4gVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBoYXZlIGEgcHJvamVjdCBvbiBm b3IgaW5zdGFuY2UgR2l0SHViCisrIyBhbmQgd2FudCByZXVzZSB0aGUgaW50cm9kdWN0aW9uIHBh Z2UgYWxzbyBmb3IgdGhlIGRveHlnZW4gb3V0cHV0LgorKworK1VTRV9NREZJTEVfQVNfTUFJTlBB R0UgPQorKworICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBy ZWxhdGVkIHRvIHNvdXJjZSBicm93c2luZworICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC03MDUs NyArODMxLDcgQEAgSU5MSU5FX1NPVVJDRVMgICAgICAgICA9IE5PCisgCisgIyBTZXR0aW5nIHRo ZSBTVFJJUF9DT0RFX0NPTU1FTlRTIHRhZyB0byBZRVMgKHRoZSBkZWZhdWx0KSB3aWxsIGluc3Ry dWN0CisgIyBkb3h5Z2VuIHRvIGhpZGUgYW55IHNwZWNpYWwgY29tbWVudCBibG9ja3MgZnJvbSBn ZW5lcmF0ZWQgc291cmNlIGNvZGUKKy0jIGZyYWdtZW50cy4gTm9ybWFsIEMgYW5kIEMrKyBjb21t ZW50cyB3aWxsIGFsd2F5cyByZW1haW4gdmlzaWJsZS4KKysjIGZyYWdtZW50cy4gTm9ybWFsIEMs IEMrKyBhbmQgRm9ydHJhbiBjb21tZW50cyB3aWxsIGFsd2F5cyByZW1haW4gdmlzaWJsZS4KKyAK KyBTVFJJUF9DT0RFX0NPTU1FTlRTICAgID0gTk8KKyAKK0BAIC03MjQsNyArODUwLDggQEAgUkVG RVJFTkNFU19SRUxBVElPTiAgICA9IFlFUworICMgSWYgdGhlIFJFRkVSRU5DRVNfTElOS19TT1VS Q0UgdGFnIGlzIHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KQorICMgYW5kIFNPVVJDRV9CUk9XU0VS IHRhZyBpcyBzZXQgdG8gWUVTLCB0aGVuIHRoZSBoeXBlcmxpbmtzIGZyb20KKyAjIGZ1bmN0aW9u cyBpbiBSRUZFUkVOQ0VTX1JFTEFUSU9OIGFuZCBSRUZFUkVOQ0VEX0JZX1JFTEFUSU9OIGxpc3Rz IHdpbGwKKy0jIGxpbmsgdG8gdGhlIHNvdXJjZSBjb2RlLiAgT3RoZXJ3aXNlIHRoZXkgd2lsbCBs aW5rIHRvIHRoZSBkb2N1bWVudHN0aW9uLgorKyMgbGluayB0byB0aGUgc291cmNlIGNvZGUuCisr IyBPdGhlcndpc2UgdGhleSB3aWxsIGxpbmsgdG8gdGhlIGRvY3VtZW50YXRpb24uCisgCisgUkVG RVJFTkNFU19MSU5LX1NPVVJDRSA9IFlFUworIAorQEAgLTc4OCw3ICs5MTUsMTQgQEAgSFRNTF9G SUxFX0VYVEVOU0lPTiAgICA9IC5odG1sCisgCisgIyBUaGUgSFRNTF9IRUFERVIgdGFnIGNhbiBi ZSB1c2VkIHRvIHNwZWNpZnkgYSBwZXJzb25hbCBIVE1MIGhlYWRlciBmb3IKKyAjIGVhY2ggZ2Vu ZXJhdGVkIEhUTUwgcGFnZS4gSWYgaXQgaXMgbGVmdCBibGFuayBkb3h5Z2VuIHdpbGwgZ2VuZXJh dGUgYQorLSMgc3RhbmRhcmQgaGVhZGVyLgorKyMgc3RhbmRhcmQgaGVhZGVyLiBOb3RlIHRoYXQg d2hlbiB1c2luZyBhIGN1c3RvbSBoZWFkZXIgeW91IGFyZSByZXNwb25zaWJsZQorKyMgIGZvciB0 aGUgcHJvcGVyIGluY2x1c2lvbiBvZiBhbnkgc2NyaXB0cyBhbmQgc3R5bGUgc2hlZXRzIHRoYXQg ZG94eWdlbgorKyMgbmVlZHMsIHdoaWNoIGlzIGRlcGVuZGVudCBvbiB0aGUgY29uZmlndXJhdGlv biBvcHRpb25zIHVzZWQuCisrIyBJdCBpcyBhZHZpc2VkIHRvIGdlbmVyYXRlIGEgZGVmYXVsdCBo ZWFkZXIgdXNpbmcgImRveHlnZW4gLXcgaHRtbAorKyMgaGVhZGVyLmh0bWwgZm9vdGVyLmh0bWwg c3R5bGVzaGVldC5jc3MgWW91ckNvbmZpZ0ZpbGUiIGFuZCB0aGVuIG1vZGlmeQorKyMgdGhhdCBo ZWFkZXIuIE5vdGUgdGhhdCB0aGUgaGVhZGVyIGlzIHN1YmplY3QgdG8gY2hhbmdlIHNvIHlvdSB0 eXBpY2FsbHkKKysjIGhhdmUgdG8gcmVkbyB0aGlzIHdoZW4gdXBncmFkaW5nIHRvIGEgbmV3ZXIg dmVyc2lvbiBvZiBkb3h5Z2VuIG9yIHdoZW4KKysjIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiBjb25m aWd1cmF0aW9uIHNldHRpbmdzIHN1Y2ggYXMgR0VORVJBVEVfVFJFRVZJRVchCisgCisgSFRNTF9I RUFERVIgICAgICAgICAgICA9CisgCitAQCAtODAwLDI3ICs5MzQsODAgQEAgSFRNTF9GT09URVIg ICAgICAgICAgICA9CisgCisgIyBUaGUgSFRNTF9TVFlMRVNIRUVUIHRhZyBjYW4gYmUgdXNlZCB0 byBzcGVjaWZ5IGEgdXNlci1kZWZpbmVkIGNhc2NhZGluZworICMgc3R5bGUgc2hlZXQgdGhhdCBp cyB1c2VkIGJ5IGVhY2ggSFRNTCBwYWdlLiBJdCBjYW4gYmUgdXNlZCB0bworLSMgZmluZS10dW5l IHRoZSBsb29rIG9mIHRoZSBIVE1MIG91dHB1dC4gSWYgdGhlIHRhZyBpcyBsZWZ0IGJsYW5rIGRv eHlnZW4KKy0jIHdpbGwgZ2VuZXJhdGUgYSBkZWZhdWx0IHN0eWxlIHNoZWV0LiBOb3RlIHRoYXQg ZG94eWdlbiB3aWxsIHRyeSB0byBjb3B5CistIyB0aGUgc3R5bGUgc2hlZXQgZmlsZSB0byB0aGUg SFRNTCBvdXRwdXQgZGlyZWN0b3J5LCBzbyBkb24ndCBwdXQgeW91ciBvd24KKy0jIHN0eWxlc2hl ZXQgaW4gdGhlIEhUTUwgb3V0cHV0IGRpcmVjdG9yeSBhcyB3ZWxsLCBvciBpdCB3aWxsIGJlIGVy YXNlZCEKKysjIGZpbmUtdHVuZSB0aGUgbG9vayBvZiB0aGUgSFRNTCBvdXRwdXQuIElmIGxlZnQg YmxhbmsgZG94eWdlbiB3aWxsCisrIyBnZW5lcmF0ZSBhIGRlZmF1bHQgc3R5bGUgc2hlZXQuIE5v dGUgdGhhdCBpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UKKysjIEhUTUxfRVhUUkFfU1RZTEVTSEVF VCBpbnN0ZWFkIG9mIHRoaXMgb25lLCBhcyBpdCBpcyBtb3JlIHJvYnVzdCBhbmQgdGhpcworKyMg dGFnIHdpbGwgaW4gdGhlIGZ1dHVyZSBiZWNvbWUgb2Jzb2xldGUuCisgCisgSFRNTF9TVFlMRVNI RUVUICAgICAgICA9CisgCistIyBJZiB0aGUgSFRNTF9BTElHTl9NRU1CRVJTIHRhZyBpcyBzZXQg dG8gWUVTLCB0aGUgbWVtYmVycyBvZiBjbGFzc2VzLAorLSMgZmlsZXMgb3IgbmFtZXNwYWNlcyB3 aWxsIGJlIGFsaWduZWQgaW4gSFRNTCB1c2luZyB0YWJsZXMuIElmIHNldCB0bworLSMgTk8gYSBi dWxsZXQgbGlzdCB3aWxsIGJlIHVzZWQuCisrIyBUaGUgSFRNTF9FWFRSQV9TVFlMRVNIRUVUIHRh ZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFuIGFkZGl0aW9uYWwKKysjIHVzZXItZGVmaW5lZCBj YXNjYWRpbmcgc3R5bGUgc2hlZXQgdGhhdCBpcyBpbmNsdWRlZCBhZnRlciB0aGUgc3RhbmRhcmQK KysjIHN0eWxlIHNoZWV0cyBjcmVhdGVkIGJ5IGRveHlnZW4uIFVzaW5nIHRoaXMgb3B0aW9uIG9u ZSBjYW4gb3ZlcnJ1bGUKKysjIGNlcnRhaW4gc3R5bGUgYXNwZWN0cy4gVGhpcyBpcyBwcmVmZXJy ZWQgb3ZlciB1c2luZyBIVE1MX1NUWUxFU0hFRVQKKysjIHNpbmNlIGl0IGRvZXMgbm90IHJlcGxh Y2UgdGhlIHN0YW5kYXJkIHN0eWxlIHNoZWV0IGFuZCBpcyB0aGVyZWZvcmUgbW9yZQorKyMgcm9i dXN0IGFnYWluc3QgZnV0dXJlIHVwZGF0ZXMuIERveHlnZW4gd2lsbCBjb3B5IHRoZSBzdHlsZSBz aGVldCBmaWxlIHRvCisrIyB0aGUgb3V0cHV0IGRpcmVjdG9yeS4KKyAKKy1IVE1MX0FMSUdOX01F TUJFUlMgICAgID0gWUVTCisrSFRNTF9FWFRSQV9TVFlMRVNIRUVUICA9CisrCisrIyBUaGUgSFRN TF9FWFRSQV9GSUxFUyB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBvbmUgb3IgbW9yZSBleHRy YSBpbWFnZXMgb3IKKysjIG90aGVyIHNvdXJjZSBmaWxlcyB3aGljaCBzaG91bGQgYmUgY29waWVk IHRvIHRoZSBIVE1MIG91dHB1dCBkaXJlY3RvcnkuIE5vdGUKKysjIHRoYXQgdGhlc2UgZmlsZXMg d2lsbCBiZSBjb3BpZWQgdG8gdGhlIGJhc2UgSFRNTCBvdXRwdXQgZGlyZWN0b3J5LiBVc2UgdGhl CisrIyAkcmVscGF0aF4gbWFya2VyIGluIHRoZSBIVE1MX0hFQURFUiBhbmQvb3IgSFRNTF9GT09U RVIgZmlsZXMgdG8gbG9hZCB0aGVzZQorKyMgZmlsZXMuIEluIHRoZSBIVE1MX1NUWUxFU0hFRVQg ZmlsZSwgdXNlIHRoZSBmaWxlIG5hbWUgb25seS4gQWxzbyBub3RlIHRoYXQKKysjIHRoZSBmaWxl cyB3aWxsIGJlIGNvcGllZCBhcy1pczsgdGhlcmUgYXJlIG5vIGNvbW1hbmRzIG9yIG1hcmtlcnMg YXZhaWxhYmxlLgorKworK0hUTUxfRVhUUkFfRklMRVMgICAgICAgPQorKworKyMgVGhlIEhUTUxf Q09MT1JTVFlMRV9IVUUgdGFnIGNvbnRyb2xzIHRoZSBjb2xvciBvZiB0aGUgSFRNTCBvdXRwdXQu CisrIyBEb3h5Z2VuIHdpbGwgYWRqdXN0IHRoZSBjb2xvcnMgaW4gdGhlIHN0eWxlIHNoZWV0IGFu ZCBiYWNrZ3JvdW5kIGltYWdlcworKyMgYWNjb3JkaW5nIHRvIHRoaXMgY29sb3IuIEh1ZSBpcyBz cGVjaWZpZWQgYXMgYW4gYW5nbGUgb24gYSBjb2xvcndoZWVsLAorKyMgc2VlIGh0dHA6Ly9lbi53 aWtpcGVkaWEub3JnL3dpa2kvSHVlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyMgRm9yIGluc3Rh bmNlIHRoZSB2YWx1ZSAwIHJlcHJlc2VudHMgcmVkLCA2MCBpcyB5ZWxsb3csIDEyMCBpcyBncmVl biwKKysjIDE4MCBpcyBjeWFuLCAyNDAgaXMgYmx1ZSwgMzAwIHB1cnBsZSwgYW5kIDM2MCBpcyBy ZWQgYWdhaW4uCisrIyBUaGUgYWxsb3dlZCByYW5nZSBpcyAwIHRvIDM1OS4KKysKKytIVE1MX0NP TE9SU1RZTEVfSFVFICAgID0gMjIwCisrCisrIyBUaGUgSFRNTF9DT0xPUlNUWUxFX1NBVCB0YWcg Y29udHJvbHMgdGhlIHB1cml0eSAob3Igc2F0dXJhdGlvbikgb2YKKysjIHRoZSBjb2xvcnMgaW4g dGhlIEhUTUwgb3V0cHV0LiBGb3IgYSB2YWx1ZSBvZiAwIHRoZSBvdXRwdXQgd2lsbCB1c2UKKysj IGdyYXlzY2FsZXMgb25seS4gQSB2YWx1ZSBvZiAyNTUgd2lsbCBwcm9kdWNlIHRoZSBtb3N0IHZp dmlkIGNvbG9ycy4KKysKKytIVE1MX0NPTE9SU1RZTEVfU0FUICAgID0gMTAwCisrCisrIyBUaGUg SFRNTF9DT0xPUlNUWUxFX0dBTU1BIHRhZyBjb250cm9scyB0aGUgZ2FtbWEgY29ycmVjdGlvbiBh cHBsaWVkIHRvCisrIyB0aGUgbHVtaW5hbmNlIGNvbXBvbmVudCBvZiB0aGUgY29sb3JzIGluIHRo ZSBIVE1MIG91dHB1dC4gVmFsdWVzIGJlbG93CisrIyAxMDAgZ3JhZHVhbGx5IG1ha2UgdGhlIG91 dHB1dCBsaWdodGVyLCB3aGVyZWFzIHZhbHVlcyBhYm92ZSAxMDAgbWFrZQorKyMgdGhlIG91dHB1 dCBkYXJrZXIuIFRoZSB2YWx1ZSBkaXZpZGVkIGJ5IDEwMCBpcyB0aGUgYWN0dWFsIGdhbW1hIGFw cGxpZWQsCisrIyBzbyA4MCByZXByZXNlbnRzIGEgZ2FtbWEgb2YgMC44LCBUaGUgdmFsdWUgMjIw IHJlcHJlc2VudHMgYSBnYW1tYSBvZiAyLjIsCisrIyBhbmQgMTAwIGRvZXMgbm90IGNoYW5nZSB0 aGUgZ2FtbWEuCisrCisrSFRNTF9DT0xPUlNUWUxFX0dBTU1BICA9IDgwCisrCisrIyBJZiB0aGUg SFRNTF9USU1FU1RBTVAgdGFnIGlzIHNldCB0byBZRVMgdGhlbiB0aGUgZm9vdGVyIG9mIGVhY2gg Z2VuZXJhdGVkIEhUTUwKKysjIHBhZ2Ugd2lsbCBjb250YWluIHRoZSBkYXRlIGFuZCB0aW1lIHdo ZW4gdGhlIHBhZ2Ugd2FzIGdlbmVyYXRlZC4gU2V0dGluZworKyMgdGhpcyB0byBOTyBjYW4gaGVs cCB3aGVuIGNvbXBhcmluZyB0aGUgb3V0cHV0IG9mIG11bHRpcGxlIHJ1bnMuCisrCisrSFRNTF9U SU1FU1RBTVAgICAgICAgICA9IE5PCisgCisgIyBJZiB0aGUgSFRNTF9EWU5BTUlDX1NFQ1RJT05T IHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gdGhlIGdlbmVyYXRlZCBIVE1MCisgIyBkb2N1bWVudGF0 aW9uIHdpbGwgY29udGFpbiBzZWN0aW9ucyB0aGF0IGNhbiBiZSBoaWRkZW4gYW5kIHNob3duIGFm dGVyIHRoZQorLSMgcGFnZSBoYXMgbG9hZGVkLiBGb3IgdGhpcyB0byB3b3JrIGEgYnJvd3NlciB0 aGF0IHN1cHBvcnRzCistIyBKYXZhU2NyaXB0IGFuZCBESFRNTCBpcyByZXF1aXJlZCAoZm9yIGlu c3RhbmNlIE1vemlsbGEgMS4wKywgRmlyZWZveAorLSMgTmV0c2NhcGUgNi4wKywgSW50ZXJuZXQg ZXhwbG9yZXIgNS4wKywgS29ucXVlcm9yLCBvciBTYWZhcmkpLgorKyMgcGFnZSBoYXMgbG9hZGVk LgorIAorIEhUTUxfRFlOQU1JQ19TRUNUSU9OUyAgPSBOTworIAorKyMgV2l0aCBIVE1MX0lOREVY X05VTV9FTlRSSUVTIG9uZSBjYW4gY29udHJvbCB0aGUgcHJlZmVycmVkIG51bWJlciBvZgorKyMg ZW50cmllcyBzaG93biBpbiB0aGUgdmFyaW91cyB0cmVlIHN0cnVjdHVyZWQgaW5kaWNlcyBpbml0 aWFsbHk7IHRoZSB1c2VyCisrIyBjYW4gZXhwYW5kIGFuZCBjb2xsYXBzZSBlbnRyaWVzIGR5bmFt aWNhbGx5IGxhdGVyIG9uLiBEb3h5Z2VuIHdpbGwgZXhwYW5kCisrIyB0aGUgdHJlZSB0byBzdWNo IGEgbGV2ZWwgdGhhdCBhdCBtb3N0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGVudHJpZXMgYXJl CisrIyB2aXNpYmxlICh1bmxlc3MgYSBmdWxseSBjb2xsYXBzZWQgdHJlZSBhbHJlYWR5IGV4Y2Vl ZHMgdGhpcyBhbW91bnQpLgorKyMgU28gc2V0dGluZyB0aGUgbnVtYmVyIG9mIGVudHJpZXMgMSB3 aWxsIHByb2R1Y2UgYSBmdWxsIGNvbGxhcHNlZCB0cmVlIGJ5CisrIyBkZWZhdWx0LiAwIGlzIGEg c3BlY2lhbCB2YWx1ZSByZXByZXNlbnRpbmcgYW4gaW5maW5pdGUgbnVtYmVyIG9mIGVudHJpZXMK KysjIGFuZCB3aWxsIHJlc3VsdCBpbiBhIGZ1bGwgZXhwYW5kZWQgdHJlZSBieSBkZWZhdWx0Lgor KworK0hUTUxfSU5ERVhfTlVNX0VOVFJJRVMgPSAxMDAKKysKKyAjIElmIHRoZSBHRU5FUkFURV9E T0NTRVQgdGFnIGlzIHNldCB0byBZRVMsIGFkZGl0aW9uYWwgaW5kZXggZmlsZXMKKyAjIHdpbGwg YmUgZ2VuZXJhdGVkIHRoYXQgY2FuIGJlIHVzZWQgYXMgaW5wdXQgZm9yIEFwcGxlJ3MgWGNvZGUg MworICMgaW50ZWdyYXRlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgaW50cm9kdWNlZCB3aXRo IE9TWCAxMC41IChMZW9wYXJkKS4KK0BAIC04MjksNyArMTAxNiw4IEBAIEhUTUxfRFlOQU1JQ19T RUNUSU9OUyAgPSBOTworICMgZGlyZWN0b3J5IGFuZCBydW5uaW5nICJtYWtlIGluc3RhbGwiIHdp bGwgaW5zdGFsbCB0aGUgZG9jc2V0IGluCisgIyB+L0xpYnJhcnkvRGV2ZWxvcGVyL1NoYXJlZC9E b2N1bWVudGF0aW9uL0RvY1NldHMgc28gdGhhdCBYY29kZSB3aWxsIGZpbmQKKyAjIGl0IGF0IHN0 YXJ0dXAuCistIyBTZWUgaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vdG9vbHMvY3JlYXRpbmdk b2NzZXRzd2l0aGRveHlnZW4uaHRtbCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKysjIFNlZSBodHRw Oi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS90b29scy9jcmVhdGluZ2RvY3NldHN3aXRoZG94eWdlbi5o dG1sCisrIyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAKKyBHRU5FUkFURV9ET0NTRVQgICAgICAg ID0gTk8KKyAKK0BAIC04NDcsNiArMTAzNSwxNiBAQCBET0NTRVRfRkVFRE5BTUUgICAgICAgID0g IkRveHlnZW4gZ2VuZXJhdGVkIGRvY3MiCisgCisgRE9DU0VUX0JVTkRMRV9JRCAgICAgICA9IG9y Zy5kb3h5Z2VuLlByb2plY3QKKyAKKysjIFdoZW4gR0VORVJBVEVfUFVCTElTSEVSX0lEIHRhZyBz cGVjaWZpZXMgYSBzdHJpbmcgdGhhdCBzaG91bGQgdW5pcXVlbHkKKysjIGlkZW50aWZ5IHRoZSBk b2N1bWVudGF0aW9uIHB1Ymxpc2hlci4gVGhpcyBzaG91bGQgYmUgYSByZXZlcnNlIGRvbWFpbi1u YW1lCisrIyBzdHlsZSBzdHJpbmcsIGUuZy4gY29tLm15Y29tcGFueS5NeURvY1NldC5kb2N1bWVu dGF0aW9uLgorKworK0RPQ1NFVF9QVUJMSVNIRVJfSUQgICAgPSBvcmcuZG94eWdlbi5QdWJsaXNo ZXIKKysKKysjIFRoZSBHRU5FUkFURV9QVUJMSVNIRVJfTkFNRSB0YWcgaWRlbnRpZmllcyB0aGUg ZG9jdW1lbnRhdGlvbiBwdWJsaXNoZXIuCisrCisrRE9DU0VUX1BVQkxJU0hFUl9OQU1FICA9IFB1 Ymxpc2hlcgorKworICMgSWYgdGhlIEdFTkVSQVRFX0hUTUxIRUxQIHRhZyBpcyBzZXQgdG8gWUVT LCBhZGRpdGlvbmFsIGluZGV4IGZpbGVzCisgIyB3aWxsIGJlIGdlbmVyYXRlZCB0aGF0IGNhbiBi ZSB1c2VkIGFzIGlucHV0IGZvciB0b29scyBsaWtlIHRoZQorICMgTWljcm9zb2Z0IEhUTUwgaGVs cCB3b3Jrc2hvcCB0byBnZW5lcmF0ZSBhIGNvbXBpbGVkIEhUTUwgaGVscCBmaWxlICguY2htKQor QEAgLTg5MSwxMCArMTA4OSwxMCBAQCBCSU5BUllfVE9DICAgICAgICAgICAgID0gTk8KKyAKKyBU T0NfRVhQQU5EICAgICAgICAgICAgID0gWUVTCisgCistIyBJZiB0aGUgR0VORVJBVEVfUUhQIHRh ZyBpcyBzZXQgdG8gWUVTIGFuZCBib3RoIFFIUF9OQU1FU1BBQ0UgYW5kIFFIUF9WSVJUVUFMX0ZP TERFUgorLSMgYXJlIHNldCwgYW4gYWRkaXRpb25hbCBpbmRleCBmaWxlIHdpbGwgYmUgZ2VuZXJh dGVkIHRoYXQgY2FuIGJlIHVzZWQgYXMgaW5wdXQgZm9yCistIyBRdCdzIHFoZWxwZ2VuZXJhdG9y IHRvIGdlbmVyYXRlIGEgUXQgQ29tcHJlc3NlZCBIZWxwICgucWNoKSBvZiB0aGUgZ2VuZXJhdGVk CistIyBIVE1MIGRvY3VtZW50YXRpb24uCisrIyBJZiB0aGUgR0VORVJBVEVfUUhQIHRhZyBpcyBz ZXQgdG8gWUVTIGFuZCBib3RoIFFIUF9OQU1FU1BBQ0UgYW5kCisrIyBRSFBfVklSVFVBTF9GT0xE RVIgYXJlIHNldCwgYW4gYWRkaXRpb25hbCBpbmRleCBmaWxlIHdpbGwgYmUgZ2VuZXJhdGVkCisr IyB0aGF0IGNhbiBiZSB1c2VkIGFzIGlucHV0IGZvciBRdCdzIHFoZWxwZ2VuZXJhdG9yIHRvIGdl bmVyYXRlIGEKKysjIFF0IENvbXByZXNzZWQgSGVscCAoLnFjaCkgb2YgdGhlIGdlbmVyYXRlZCBI VE1MIGRvY3VtZW50YXRpb24uCisgCisgR0VORVJBVEVfUUhQICAgICAgICAgICA9IE5PCisgCitA QCAtOTA2LDU3ICsxMTA0LDk5IEBAIFFDSF9GSUxFICAgICAgICAgICAgICAgPQorIAorICMgVGhl IFFIUF9OQU1FU1BBQ0UgdGFnIHNwZWNpZmllcyB0aGUgbmFtZXNwYWNlIHRvIHVzZSB3aGVuIGdl bmVyYXRpbmcKKyAjIFF0IEhlbHAgUHJvamVjdCBvdXRwdXQuIEZvciBtb3JlIGluZm9ybWF0aW9u IHBsZWFzZSBzZWUKKy0jIDxhIGhyZWY9Imh0dHA6Ly9kb2MudHJvbGx0ZWNoLmNvbS9xdGhlbHBw cm9qZWN0Lmh0bWwjbmFtZXNwYWNlIj5RdCBIZWxwIFByb2plY3QgLyBOYW1lc3BhY2U8L2E+Lgor KyMgaHR0cDovL2RvYy50cm9sbHRlY2guY29tL3F0aGVscHByb2plY3QuaHRtbCNuYW1lc3BhY2UK KyAKKyBRSFBfTkFNRVNQQUNFICAgICAgICAgID0gb3JnLmRveHlnZW4uUHJvamVjdAorIAorICMg VGhlIFFIUF9WSVJUVUFMX0ZPTERFUiB0YWcgc3BlY2lmaWVzIHRoZSBuYW1lc3BhY2UgdG8gdXNl IHdoZW4gZ2VuZXJhdGluZworICMgUXQgSGVscCBQcm9qZWN0IG91dHB1dC4gRm9yIG1vcmUgaW5m b3JtYXRpb24gcGxlYXNlIHNlZQorLSMgPGEgaHJlZj0iaHR0cDovL2RvYy50cm9sbHRlY2guY29t L3F0aGVscHByb2plY3QuaHRtbCN2aXJ0dWFsLWZvbGRlcnMiPlF0IEhlbHAgUHJvamVjdCAvIFZp cnR1YWwgRm9sZGVyczwvYT4uCisrIyBodHRwOi8vZG9jLnRyb2xsdGVjaC5jb20vcXRoZWxwcHJv amVjdC5odG1sI3ZpcnR1YWwtZm9sZGVycworIAorIFFIUF9WSVJUVUFMX0ZPTERFUiAgICAgPSBk b2MKKyAKKysjIElmIFFIUF9DVVNUX0ZJTFRFUl9OQU1FIGlzIHNldCwgaXQgc3BlY2lmaWVzIHRo ZSBuYW1lIG9mIGEgY3VzdG9tIGZpbHRlciB0bworKyMgYWRkLiBGb3IgbW9yZSBpbmZvcm1hdGlv biBwbGVhc2Ugc2VlCisrIyBodHRwOi8vZG9jLnRyb2xsdGVjaC5jb20vcXRoZWxwcHJvamVjdC5o dG1sI2N1c3RvbS1maWx0ZXJzCisrCisrUUhQX0NVU1RfRklMVEVSX05BTUUgICA9CisrCisrIyBU aGUgUUhQX0NVU1RfRklMVF9BVFRSUyB0YWcgc3BlY2lmaWVzIHRoZSBsaXN0IG9mIHRoZSBhdHRy aWJ1dGVzIG9mIHRoZQorKyMgY3VzdG9tIGZpbHRlciB0byBhZGQuIEZvciBtb3JlIGluZm9ybWF0 aW9uIHBsZWFzZSBzZWUKKysjIDxhIGhyZWY9Imh0dHA6Ly9kb2MudHJvbGx0ZWNoLmNvbS9xdGhl bHBwcm9qZWN0Lmh0bWwjY3VzdG9tLWZpbHRlcnMiPgorKyMgUXQgSGVscCBQcm9qZWN0IC8gQ3Vz dG9tIEZpbHRlcnM8L2E+LgorKworK1FIUF9DVVNUX0ZJTFRFUl9BVFRSUyAgPQorKworKyMgVGhl IFFIUF9TRUNUX0ZJTFRFUl9BVFRSUyB0YWcgc3BlY2lmaWVzIHRoZSBsaXN0IG9mIHRoZSBhdHRy aWJ1dGVzIHRoaXMKKysjIHByb2plY3QncworKyMgZmlsdGVyIHNlY3Rpb24gbWF0Y2hlcy4KKysj IDxhIGhyZWY9Imh0dHA6Ly9kb2MudHJvbGx0ZWNoLmNvbS9xdGhlbHBwcm9qZWN0Lmh0bWwjZmls dGVyLWF0dHJpYnV0ZXMiPgorKyMgUXQgSGVscCBQcm9qZWN0IC8gRmlsdGVyIEF0dHJpYnV0ZXM8 L2E+LgorKworK1FIUF9TRUNUX0ZJTFRFUl9BVFRSUyAgPQorKworICMgSWYgdGhlIEdFTkVSQVRF X1FIUCB0YWcgaXMgc2V0IHRvIFlFUywgdGhlIFFIR19MT0NBVElPTiB0YWcgY2FuCisgIyBiZSB1 c2VkIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIG9mIFF0J3MgcWhlbHBnZW5lcmF0b3IuCisgIyBJ ZiBub24tZW1wdHkgZG94eWdlbiB3aWxsIHRyeSB0byBydW4gcWhlbHBnZW5lcmF0b3Igb24gdGhl IGdlbmVyYXRlZAorLSMgLnFocCBmaWxlIC4KKysjIC5xaHAgZmlsZS4KKyAKKyBRSEdfTE9DQVRJ T04gICAgICAgICAgID0KKyAKKy0jIFRoZSBESVNBQkxFX0lOREVYIHRhZyBjYW4gYmUgdXNlZCB0 byB0dXJuIG9uL29mZiB0aGUgY29uZGVuc2VkIGluZGV4IGF0CistIyB0b3Agb2YgZWFjaCBIVE1M IHBhZ2UuIFRoZSB2YWx1ZSBOTyAodGhlIGRlZmF1bHQpIGVuYWJsZXMgdGhlIGluZGV4IGFuZAor LSMgdGhlIHZhbHVlIFlFUyBkaXNhYmxlcyBpdC4KKysjIElmIHRoZSBHRU5FUkFURV9FQ0xJUFNF SEVMUCB0YWcgaXMgc2V0IHRvIFlFUywgYWRkaXRpb25hbCBpbmRleCBmaWxlcworKyMgIHdpbGwg YmUgZ2VuZXJhdGVkLCB3aGljaCB0b2dldGhlciB3aXRoIHRoZSBIVE1MIGZpbGVzLCBmb3JtIGFu IEVjbGlwc2UgaGVscAorKyMgcGx1Z2luLiBUbyBpbnN0YWxsIHRoaXMgcGx1Z2luIGFuZCBtYWtl IGl0IGF2YWlsYWJsZSB1bmRlciB0aGUgaGVscCBjb250ZW50cworKyMgbWVudSBpbiBFY2xpcHNl LCB0aGUgY29udGVudHMgb2YgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBIVE1MIGFuZCBY TUwKKysjIGZpbGVzIG5lZWRzIHRvIGJlIGNvcGllZCBpbnRvIHRoZSBwbHVnaW5zIGRpcmVjdG9y eSBvZiBlY2xpcHNlLiBUaGUgbmFtZSBvZgorKyMgdGhlIGRpcmVjdG9yeSB3aXRoaW4gdGhlIHBs dWdpbnMgZGlyZWN0b3J5IHNob3VsZCBiZSB0aGUgc2FtZSBhcworKyMgdGhlIEVDTElQU0VfRE9D X0lEIHZhbHVlLiBBZnRlciBjb3B5aW5nIEVjbGlwc2UgbmVlZHMgdG8gYmUgcmVzdGFydGVkIGJl Zm9yZQorKyMgdGhlIGhlbHAgYXBwZWFycy4KKyAKKy1ESVNBQkxFX0lOREVYICAgICAgICAgID0g WUVTCisrR0VORVJBVEVfRUNMSVBTRUhFTFAgICA9IE5PCisgCistIyBUaGlzIHRhZyBjYW4gYmUg dXNlZCB0byBzZXQgdGhlIG51bWJlciBvZiBlbnVtIHZhbHVlcyAocmFuZ2UgWzEuLjIwXSkKKy0j IHRoYXQgZG94eWdlbiB3aWxsIGdyb3VwIG9uIG9uZSBsaW5lIGluIHRoZSBnZW5lcmF0ZWQgSFRN TCBkb2N1bWVudGF0aW9uLgorKyMgQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGVjbGlwc2Ug aGVscCBwbHVnaW4uIFdoZW4gaW5zdGFsbGluZyB0aGUgcGx1Z2luCisrIyB0aGUgZGlyZWN0b3J5 IG5hbWUgY29udGFpbmluZyB0aGUgSFRNTCBhbmQgWE1MIGZpbGVzIHNob3VsZCBhbHNvIGhhdmUK KysjIHRoaXMgbmFtZS4KKyAKKy1FTlVNX1ZBTFVFU19QRVJfTElORSAgID0gNAorK0VDTElQU0Vf RE9DX0lEICAgICAgICAgPSBvcmcuZG94eWdlbi5Qcm9qZWN0CisrCisrIyBUaGUgRElTQUJMRV9J TkRFWCB0YWcgY2FuIGJlIHVzZWQgdG8gdHVybiBvbi9vZmYgdGhlIGNvbmRlbnNlZCBpbmRleCAo dGFicykKKysjIGF0IHRvcCBvZiBlYWNoIEhUTUwgcGFnZS4gVGhlIHZhbHVlIE5PICh0aGUgZGVm YXVsdCkgZW5hYmxlcyB0aGUgaW5kZXggYW5kCisrIyB0aGUgdmFsdWUgWUVTIGRpc2FibGVzIGl0 LiBTaW5jZSB0aGUgdGFicyBoYXZlIHRoZSBzYW1lIGluZm9ybWF0aW9uIGFzIHRoZQorKyMgbmF2 aWdhdGlvbiB0cmVlIHlvdSBjYW4gc2V0IHRoaXMgb3B0aW9uIHRvIE5PIGlmIHlvdSBhbHJlYWR5 IHNldAorKyMgR0VORVJBVEVfVFJFRVZJRVcgdG8gWUVTLgorKworK0RJU0FCTEVfSU5ERVggICAg ICAgICAgPSBZRVMKKyAKKyAjIFRoZSBHRU5FUkFURV9UUkVFVklFVyB0YWcgaXMgdXNlZCB0byBz cGVjaWZ5IHdoZXRoZXIgYSB0cmVlLWxpa2UgaW5kZXgKKyAjIHN0cnVjdHVyZSBzaG91bGQgYmUg Z2VuZXJhdGVkIHRvIGRpc3BsYXkgaGllcmFyY2hpY2FsIGluZm9ybWF0aW9uLgorLSMgSWYgdGhl IHRhZyB2YWx1ZSBpcyBzZXQgdG8gRlJBTUUsIGEgc2lkZSBwYW5lbCB3aWxsIGJlIGdlbmVyYXRl ZAorKyMgSWYgdGhlIHRhZyB2YWx1ZSBpcyBzZXQgdG8gWUVTLCBhIHNpZGUgcGFuZWwgd2lsbCBi ZSBnZW5lcmF0ZWQKKyAjIGNvbnRhaW5pbmcgYSB0cmVlLWxpa2UgaW5kZXggc3RydWN0dXJlIChq dXN0IGxpa2UgdGhlIG9uZSB0aGF0CisgIyBpcyBnZW5lcmF0ZWQgZm9yIEhUTUwgSGVscCkuIEZv ciB0aGlzIHRvIHdvcmsgYSBicm93c2VyIHRoYXQgc3VwcG9ydHMKKy0jIEphdmFTY3JpcHQsIERI VE1MLCBDU1MgYW5kIGZyYW1lcyBpcyByZXF1aXJlZCAoZm9yIGluc3RhbmNlIE1vemlsbGEgMS4w KywKKy0jIE5ldHNjYXBlIDYuMCssIEludGVybmV0IGV4cGxvcmVyIDUuMCssIG9yIEtvbnF1ZXJv cikuIFdpbmRvd3MgdXNlcnMgYXJlCistIyBwcm9iYWJseSBiZXR0ZXIgb2ZmIHVzaW5nIHRoZSBI VE1MIGhlbHAgZmVhdHVyZS4gT3RoZXIgcG9zc2libGUgdmFsdWVzCistIyBmb3IgdGhpcyB0YWcg YXJlOiBISUVSQVJDSElFUywgd2hpY2ggd2lsbCBnZW5lcmF0ZSB0aGUgR3JvdXBzLCBEaXJlY3Rv cmllcywKKy0jIGFuZCBDbGFzcyBIaWVyYXJjaHkgcGFnZXMgdXNpbmcgYSB0cmVlIHZpZXcgaW5z dGVhZCBvZiBhbiBvcmRlcmVkIGxpc3Q7CistIyBBTEwsIHdoaWNoIGNvbWJpbmVzIHRoZSBiZWhh dmlvciBvZiBGUkFNRSBhbmQgSElFUkFSQ0hJRVM7IGFuZCBOT05FLCB3aGljaAorLSMgZGlzYWJs ZXMgdGhpcyBiZWhhdmlvciBjb21wbGV0ZWx5LiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkg d2l0aCBwcmV2aW91cworLSMgcmVsZWFzZXMgb2YgRG94eWdlbiwgdGhlIHZhbHVlcyBZRVMgYW5k IE5PIGFyZSBlcXVpdmFsZW50IHRvIEZSQU1FIGFuZCBOT05FCistIyByZXNwZWN0aXZlbHkuCisr IyBKYXZhU2NyaXB0LCBESFRNTCwgQ1NTIGFuZCBmcmFtZXMgaXMgcmVxdWlyZWQgKGkuZS4gYW55 IG1vZGVybiBicm93c2VyKS4KKysjIFdpbmRvd3MgdXNlcnMgYXJlIHByb2JhYmx5IGJldHRlciBv ZmYgdXNpbmcgdGhlIEhUTUwgaGVscCBmZWF0dXJlLgorKyMgU2luY2UgdGhlIHRyZWUgYmFzaWNh bGx5IGhhcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiBhcyB0aGUgdGFiIGluZGV4IHlvdQorKyMgY291 bGQgY29uc2lkZXIgdG8gc2V0IERJU0FCTEVfSU5ERVggdG8gTk8gd2hlbiBlbmFibGluZyB0aGlz IG9wdGlvbi4KKyAKKyBHRU5FUkFURV9UUkVFVklFVyAgICAgID0gWUVTCisgCisrIyBUaGUgRU5V TV9WQUxVRVNfUEVSX0xJTkUgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgbnVtYmVyIG9mIGVu dW0gdmFsdWVzCisrIyAocmFuZ2UgWzAsMS4uMjBdKSB0aGF0IGRveHlnZW4gd2lsbCBncm91cCBv biBvbmUgbGluZSBpbiB0aGUgZ2VuZXJhdGVkIEhUTUwKKysjIGRvY3VtZW50YXRpb24uIE5vdGUg dGhhdCBhIHZhbHVlIG9mIDAgd2lsbCBjb21wbGV0ZWx5IHN1cHByZXNzIHRoZSBlbnVtCisrIyB2 YWx1ZXMgZnJvbSBhcHBlYXJpbmcgaW4gdGhlIG92ZXJ2aWV3IHNlY3Rpb24uCisrCisrRU5VTV9W QUxVRVNfUEVSX0xJTkUgICA9IDQKKysKKyAjIElmIHRoZSB0cmVldmlldyBpcyBlbmFibGVkIChz ZWUgR0VORVJBVEVfVFJFRVZJRVcpIHRoZW4gdGhpcyB0YWcgY2FuIGJlCisgIyB1c2VkIHRvIHNl dCB0aGUgaW5pdGlhbCB3aWR0aCAoaW4gcGl4ZWxzKSBvZiB0aGUgZnJhbWUgaW4gd2hpY2ggdGhl IHRyZWUKKyAjIGlzIHNob3duLgorIAorIFRSRUVWSUVXX1dJRFRIICAgICAgICAgPSAxODAKKyAK KysjIFdoZW4gdGhlIEVYVF9MSU5LU19JTl9XSU5ET1cgb3B0aW9uIGlzIHNldCB0byBZRVMgZG94 eWdlbiB3aWxsIG9wZW4KKysjIGxpbmtzIHRvIGV4dGVybmFsIHN5bWJvbHMgaW1wb3J0ZWQgdmlh IHRhZyBmaWxlcyBpbiBhIHNlcGFyYXRlIHdpbmRvdy4KKysKKytFWFRfTElOS1NfSU5fV0lORE9X ICAgID0gTk8KKysKKyAjIFVzZSB0aGlzIHRhZyB0byBjaGFuZ2UgdGhlIGZvbnQgc2l6ZSBvZiBM YXRleCBmb3JtdWxhcyBpbmNsdWRlZAorICMgYXMgaW1hZ2VzIGluIHRoZSBIVE1MIGRvY3VtZW50 YXRpb24uIFRoZSBkZWZhdWx0IGlzIDEwLiBOb3RlIHRoYXQKKyAjIHdoZW4geW91IGNoYW5nZSB0 aGUgZm9udCBzaXplIGFmdGVyIGEgc3VjY2Vzc2Z1bCBkb3h5Z2VuIHJ1biB5b3UgbmVlZAorQEAg LTk2NSw2ICsxMjA1LDExMiBAQCBUUkVFVklFV19XSURUSCAgICAgICAgID0gMTgwCisgCisgRk9S TVVMQV9GT05UU0laRSAgICAgICA9IDEwCisgCisrIyBVc2UgdGhlIEZPUk1VTEFfVFJBTlBBUkVO VCB0YWcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZSBpbWFnZXMKKysjIGdlbmVyYXRl ZCBmb3IgZm9ybXVsYXMgYXJlIHRyYW5zcGFyZW50IFBOR3MuIFRyYW5zcGFyZW50IFBOR3MgYXJl CisrIyBub3Qgc3VwcG9ydGVkIHByb3Blcmx5IGZvciBJRSA2LjAsIGJ1dCBhcmUgc3VwcG9ydGVk IG9uIGFsbCBtb2Rlcm4gYnJvd3NlcnMuCisrIyBOb3RlIHRoYXQgd2hlbiBjaGFuZ2luZyB0aGlz IG9wdGlvbiB5b3UgbmVlZCB0byBkZWxldGUgYW55IGZvcm1fKi5wbmcgZmlsZXMKKysjIGluIHRo ZSBIVE1MIG91dHB1dCBiZWZvcmUgdGhlIGNoYW5nZXMgaGF2ZSBlZmZlY3QuCisrCisrRk9STVVM QV9UUkFOU1BBUkVOVCAgICA9IFlFUworKworKyMgRW5hYmxlIHRoZSBVU0VfTUFUSEpBWCBvcHRp b24gdG8gcmVuZGVyIExhVGVYIGZvcm11bGFzIHVzaW5nIE1hdGhKYXgKKysjIChzZWUgaHR0cDov L3d3dy5tYXRoamF4Lm9yZykgd2hpY2ggdXNlcyBjbGllbnQgc2lkZSBKYXZhc2NyaXB0IGZvciB0 aGUKKysjIHJlbmRlcmluZyBpbnN0ZWFkIG9mIHVzaW5nIHByZXJlbmRlcmVkIGJpdG1hcHMuIFVz ZSB0aGlzIGlmIHlvdSBkbyBub3QKKysjIGhhdmUgTGFUZVggaW5zdGFsbGVkIG9yIGlmIHlvdSB3 YW50IHRvIGZvcm11bGFzIGxvb2sgcHJldHRpZXIgaW4gdGhlIEhUTUwKKysjIG91dHB1dC4gV2hl biBlbmFibGVkIHlvdSBtYXkgYWxzbyBuZWVkIHRvIGluc3RhbGwgTWF0aEpheCBzZXBhcmF0ZWx5 IGFuZAorKyMgY29uZmlndXJlIHRoZSBwYXRoIHRvIGl0IHVzaW5nIHRoZSBNQVRISkFYX1JFTFBB VEggb3B0aW9uLgorKworK1VTRV9NQVRISkFYICAgICAgICAgICAgPSBOTworKworKyMgV2hlbiBN YXRoSmF4IGlzIGVuYWJsZWQgeW91IGNhbiBzZXQgdGhlIGRlZmF1bHQgb3V0cHV0IGZvcm1hdCB0 byBiZSB1c2VkIGZvcgorKyMgdGhlIE1hdGhKYXggb3V0cHV0LiBTdXBwb3J0ZWQgdHlwZXMgYXJl IEhUTUwtQ1NTLCBOYXRpdmVNTUwgKGkuZS4gTWF0aE1MKSBhbmQKKysjIFNWRy4gVGhlIGRlZmF1 bHQgdmFsdWUgaXMgSFRNTC1DU1MsIHdoaWNoIGlzIHNsb3dlciwgYnV0IGhhcyB0aGUgYmVzdAor KyMgY29tcGF0aWJpbGl0eS4KKysKKytNQVRISkFYX0ZPUk1BVCAgICAgICAgID0gSFRNTC1DU1MK KysKKysjIFdoZW4gTWF0aEpheCBpcyBlbmFibGVkIHlvdSBuZWVkIHRvIHNwZWNpZnkgdGhlIGxv Y2F0aW9uIHJlbGF0aXZlIHRvIHRoZQorKyMgSFRNTCBvdXRwdXQgZGlyZWN0b3J5IHVzaW5nIHRo ZSBNQVRISkFYX1JFTFBBVEggb3B0aW9uLiBUaGUgZGVzdGluYXRpb24KKysjIGRpcmVjdG9yeSBz aG91bGQgY29udGFpbiB0aGUgTWF0aEpheC5qcyBzY3JpcHQuIEZvciBpbnN0YW5jZSwgaWYgdGhl IG1hdGhqYXgKKysjIGRpcmVjdG9yeSBpcyBsb2NhdGVkIGF0IHRoZSBzYW1lIGxldmVsIGFzIHRo ZSBIVE1MIG91dHB1dCBkaXJlY3RvcnksIHRoZW4KKysjIE1BVEhKQVhfUkVMUEFUSCBzaG91bGQg YmUgLi4vbWF0aGpheC4gVGhlIGRlZmF1bHQgdmFsdWUgcG9pbnRzIHRvCisrIyB0aGUgTWF0aEph eCBDb250ZW50IERlbGl2ZXJ5IE5ldHdvcmsgc28geW91IGNhbiBxdWlja2x5IHNlZSB0aGUgcmVz dWx0IHdpdGhvdXQKKysjIGluc3RhbGxpbmcgTWF0aEpheC4KKysjIEhvd2V2ZXIsIGl0IGlzIHN0 cm9uZ2x5IHJlY29tbWVuZGVkIHRvIGluc3RhbGwgYSBsb2NhbAorKyMgY29weSBvZiBNYXRoSmF4 IGZyb20gaHR0cDovL3d3dy5tYXRoamF4Lm9yZyBiZWZvcmUgZGVwbG95bWVudC4KKysKKytNQVRI SkFYX1JFTFBBVEggICAgICAgID0gaHR0cDovL2Nkbi5tYXRoamF4Lm9yZy9tYXRoamF4L2xhdGVz dAorKworKyMgVGhlIE1BVEhKQVhfRVhURU5TSU9OUyB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lm eSBvbmUgb3IgTWF0aEpheCBleHRlbnNpb24KKysjIG5hbWVzIHRoYXQgc2hvdWxkIGJlIGVuYWJs ZWQgZHVyaW5nIE1hdGhKYXggcmVuZGVyaW5nLgorKworK01BVEhKQVhfRVhURU5TSU9OUyAgICAg PQorKworKyMgVGhlIE1BVEhKQVhfQ09ERUZJTEUgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkg YSBmaWxlIHdpdGggamF2YXNjcmlwdAorKyMgcGllY2VzIG9mIGNvZGUgdGhhdCB3aWxsIGJlIHVz ZWQgb24gc3RhcnR1cCBvZiB0aGUgTWF0aEpheCBjb2RlLgorKworK01BVEhKQVhfQ09ERUZJTEUg ICAgICAgPQorKworKyMgV2hlbiB0aGUgU0VBUkNIRU5HSU5FIHRhZyBpcyBlbmFibGVkIGRveHln ZW4gd2lsbCBnZW5lcmF0ZSBhIHNlYXJjaCBib3gKKysjIGZvciB0aGUgSFRNTCBvdXRwdXQuIFRo ZSB1bmRlcmx5aW5nIHNlYXJjaCBlbmdpbmUgdXNlcyBqYXZhc2NyaXB0CisrIyBhbmQgREhUTUwg YW5kIHNob3VsZCB3b3JrIG9uIGFueSBtb2Rlcm4gYnJvd3Nlci4gTm90ZSB0aGF0IHdoZW4gdXNp bmcKKysjIEhUTUwgaGVscCAoR0VORVJBVEVfSFRNTEhFTFApLCBRdCBoZWxwIChHRU5FUkFURV9R SFApLCBvciBkb2NzZXRzCisrIyAoR0VORVJBVEVfRE9DU0VUKSB0aGVyZSBpcyBhbHJlYWR5IGEg c2VhcmNoIGZ1bmN0aW9uIHNvIHRoaXMgb25lIHNob3VsZAorKyMgdHlwaWNhbGx5IGJlIGRpc2Fi bGVkLiBGb3IgbGFyZ2UgcHJvamVjdHMgdGhlIGphdmFzY3JpcHQgYmFzZWQgc2VhcmNoIGVuZ2lu ZQorKyMgY2FuIGJlIHNsb3csIHRoZW4gZW5hYmxpbmcgU0VSVkVSX0JBU0VEX1NFQVJDSCBtYXkg cHJvdmlkZSBhIGJldHRlciBzb2x1dGlvbi4KKysKKytTRUFSQ0hFTkdJTkUgICAgICAgICAgID0g Tk8KKysKKysjIFdoZW4gdGhlIFNFUlZFUl9CQVNFRF9TRUFSQ0ggdGFnIGlzIGVuYWJsZWQgdGhl IHNlYXJjaCBlbmdpbmUgd2lsbCBiZQorKyMgaW1wbGVtZW50ZWQgdXNpbmcgYSB3ZWIgc2VydmVy IGluc3RlYWQgb2YgYSB3ZWIgY2xpZW50IHVzaW5nIEphdmFzY3JpcHQuCisrIyBUaGVyZSBhcmUg dHdvIGZsYXZvdXJzIG9mIHdlYiBzZXJ2ZXIgYmFzZWQgc2VhcmNoIGRlcGVuZGluZyBvbiB0aGUK KysjIEVYVEVSTkFMX1NFQVJDSCBzZXR0aW5nLiBXaGVuIGRpc2FibGVkLCBkb3h5Z2VuIHdpbGwg Z2VuZXJhdGUgYSBQSFAgc2NyaXB0IGZvcgorKyMgc2VhcmNoaW5nIGFuZCBhbiBpbmRleCBmaWxl IHVzZWQgYnkgdGhlIHNjcmlwdC4gV2hlbiBFWFRFUk5BTF9TRUFSQ0ggaXMKKysjIGVuYWJsZWQg dGhlIGluZGV4aW5nIGFuZCBzZWFyY2hpbmcgbmVlZHMgdG8gYmUgcHJvdmlkZWQgYnkgZXh0ZXJu YWwgdG9vbHMuCisrIyBTZWUgdGhlIG1hbnVhbCBmb3IgZGV0YWlscy4KKysKKytTRVJWRVJfQkFT RURfU0VBUkNIICAgID0gTk8KKysKKysjIFdoZW4gRVhURVJOQUxfU0VBUkNIIGlzIGVuYWJsZWQg ZG94eWdlbiB3aWxsIG5vIGxvbmdlciBnZW5lcmF0ZSB0aGUgUEhQCisrIyBzY3JpcHQgZm9yIHNl YXJjaGluZy4gSW5zdGVhZCB0aGUgc2VhcmNoIHJlc3VsdHMgYXJlIHdyaXR0ZW4gdG8gYW4gWE1M IGZpbGUKKysjIHdoaWNoIG5lZWRzIHRvIGJlIHByb2Nlc3NlZCBieSBhbiBleHRlcm5hbCBpbmRl eGVyLiBEb3h5Z2VuIHdpbGwgaW52b2tlIGFuCisrIyBleHRlcm5hbCBzZWFyY2ggZW5naW5lIHBv aW50ZWQgdG8gYnkgdGhlIFNFQVJDSEVOR0lORV9VUkwgb3B0aW9uIHRvIG9idGFpbgorKyMgdGhl IHNlYXJjaCByZXN1bHRzLiBEb3h5Z2VuIHNoaXBzIHdpdGggYW4gZXhhbXBsZSBpbmRleGVyIChk b3h5aW5kZXhlcikgYW5kCisrIyBzZWFyY2ggZW5naW5lIChkb3h5c2VhcmNoLmNnaSkgd2hpY2gg YXJlIGJhc2VkIG9uIHRoZSBvcGVuIHNvdXJjZSBzZWFyY2gKKysjIGVuZ2luZSBsaWJyYXJ5IFhh cGlhbi4gU2VlIHRoZSBtYW51YWwgZm9yIGNvbmZpZ3VyYXRpb24gZGV0YWlscy4KKysKKytFWFRF Uk5BTF9TRUFSQ0ggICAgICAgID0gTk8KKysKKysjIFRoZSBTRUFSQ0hFTkdJTkVfVVJMIHNob3Vs ZCBwb2ludCB0byBhIHNlYXJjaCBlbmdpbmUgaG9zdGVkIGJ5IGEgd2ViIHNlcnZlcgorKyMgd2hp Y2ggd2lsbCByZXR1cm5lZCB0aGUgc2VhcmNoIHJlc3VsdHMgd2hlbiBFWFRFUk5BTF9TRUFSQ0gg aXMgZW5hYmxlZC4KKysjIERveHlnZW4gc2hpcHMgd2l0aCBhbiBleGFtcGxlIHNlYXJjaCBlbmdp bmUgKGRveHlzZWFyY2gpIHdoaWNoIGlzIGJhc2VkIG9uCisrIyB0aGUgb3BlbiBzb3VyY2Ugc2Vh cmNoIGVuZ2luZSBsaWJyYXJ5IFhhcGlhbi4gU2VlIHRoZSBtYW51YWwgZm9yIGNvbmZpZ3VyYXRp b24KKysjIGRldGFpbHMuCisrCisrU0VBUkNIRU5HSU5FX1VSTCAgICAgICA9CisrCisrIyBXaGVu IFNFUlZFUl9CQVNFRF9TRUFSQ0ggYW5kIEVYVEVSTkFMX1NFQVJDSCBhcmUgYm90aCBlbmFibGVk IHRoZSB1bmluZGV4ZWQKKysjIHNlYXJjaCBkYXRhIGlzIHdyaXR0ZW4gdG8gYSBmaWxlIGZvciBp bmRleGluZyBieSBhbiBleHRlcm5hbCB0b29sLiBXaXRoIHRoZQorKyMgU0VBUkNIREFUQV9GSUxF IHRhZyB0aGUgbmFtZSBvZiB0aGlzIGZpbGUgY2FuIGJlIHNwZWNpZmllZC4KKysKKytTRUFSQ0hE QVRBX0ZJTEUgICAgICAgID0gc2VhcmNoZGF0YS54bWwKKysKKysjIFdoZW4gU0VSVkVSX0JBU0VE X1NFQVJDSCBBTkQgRVhURVJOQUxfU0VBUkNIIGFyZSBib3RoIGVuYWJsZWQgdGhlCisrIyBFWFRF Uk5BTF9TRUFSQ0hfSUQgdGFnIGNhbiBiZSB1c2VkIGFzIGFuIGlkZW50aWZpZXIgZm9yIHRoZSBw cm9qZWN0LiBUaGlzIGlzCisrIyB1c2VmdWwgaW4gY29tYmluYXRpb24gd2l0aCBFWFRSQV9TRUFS Q0hfTUFQUElOR1MgdG8gc2VhcmNoIHRocm91Z2ggbXVsdGlwbGUKKysjIHByb2plY3RzIGFuZCBy ZWRpcmVjdCB0aGUgcmVzdWx0cyBiYWNrIHRvIHRoZSByaWdodCBwcm9qZWN0LgorKworK0VYVEVS TkFMX1NFQVJDSF9JRCAgICAgPQorKworKyMgVGhlIEVYVFJBX1NFQVJDSF9NQVBQSU5HUyB0YWcg Y2FuIGJlIHVzZWQgdG8gZW5hYmxlIHNlYXJjaGluZyB0aHJvdWdoIGRveHlnZW4KKysjIHByb2pl Y3RzIG90aGVyIHRoYW4gdGhlIG9uZSBkZWZpbmVkIGJ5IHRoaXMgY29uZmlndXJhdGlvbiBmaWxl LCBidXQgdGhhdCBhcmUKKysjIGFsbCBhZGRlZCB0byB0aGUgc2FtZSBleHRlcm5hbCBzZWFyY2gg aW5kZXguIEVhY2ggcHJvamVjdCBuZWVkcyB0byBoYXZlIGEKKysjIHVuaXF1ZSBpZCBzZXQgdmlh IEVYVEVSTkFMX1NFQVJDSF9JRC4gVGhlIHNlYXJjaCBtYXBwaW5nIHRoZW4gbWFwcyB0aGUgaWQK KysjIG9mIHRvIGEgcmVsYXRpdmUgbG9jYXRpb24gd2hlcmUgdGhlIGRvY3VtZW50YXRpb24gY2Fu IGJlIGZvdW5kLgorKyMgVGhlIGZvcm1hdCBpczogRVhUUkFfU0VBUkNIX01BUFBJTkdTID0gaWQx PWxvYzEgaWQyPWxvYzIgLi4uCisrCisrRVhUUkFfU0VBUkNIX01BUFBJTkdTICA9CisrCisgIy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhl IExhVGVYIG91dHB1dAorICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC05ODIsNiArMTMyOCw5IEBA IExBVEVYX09VVFBVVCAgICAgICAgICAgPSBsYXRleAorIAorICMgVGhlIExBVEVYX0NNRF9OQU1F IHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBMYVRlWCBjb21tYW5kIG5hbWUgdG8gYmUK KyAjIGludm9rZWQuIElmIGxlZnQgYmxhbmsgYGxhdGV4JyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRl ZmF1bHQgY29tbWFuZCBuYW1lLgorKyMgTm90ZSB0aGF0IHdoZW4gZW5hYmxpbmcgVVNFX1BERkxB VEVYIHRoaXMgb3B0aW9uIGlzIG9ubHkgdXNlZCBmb3IKKysjIGdlbmVyYXRpbmcgYml0bWFwcyBm b3IgZm9ybXVsYXMgaW4gdGhlIEhUTUwgb3V0cHV0LCBidXQgbm90IGluIHRoZQorKyMgTWFrZWZp bGUgdGhhdCBpcyB3cml0dGVuIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5LgorIAorIExBVEVYX0NN RF9OQU1FICAgICAgICAgPSBsYXRleAorIAorQEAgLTk5OCw4ICsxMzQ3LDggQEAgTUFLRUlOREVY X0NNRF9OQU1FICAgICA9IG1ha2VpbmRleAorIENPTVBBQ1RfTEFURVggICAgICAgICAgPSBOTwor IAorICMgVGhlIFBBUEVSX1RZUEUgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgcGFwZXIgdHlw ZSB0aGF0IGlzIHVzZWQKKy0jIGJ5IHRoZSBwcmludGVyLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBh NCwgYTR3aWRlLCBsZXR0ZXIsIGxlZ2FsIGFuZAorLSMgZXhlY3V0aXZlLiBJZiBsZWZ0IGJsYW5r IGE0d2lkZSB3aWxsIGJlIHVzZWQuCisrIyBieSB0aGUgcHJpbnRlci4gUG9zc2libGUgdmFsdWVz IGFyZTogYTQsIGxldHRlciwgbGVnYWwgYW5kCisrIyBleGVjdXRpdmUuIElmIGxlZnQgYmxhbmsg YTQgd2lsbCBiZSB1c2VkLgorIAorIFBBUEVSX1RZUEUgICAgICAgICAgICAgPSBsZXR0ZXIKKyAK K0BAIC0xMDE1LDYgKzEzNjQsMjAgQEAgRVhUUkFfUEFDS0FHRVMgICAgICAgICA9CisgCisgTEFU RVhfSEVBREVSICAgICAgICAgICA9CisgCisrIyBUaGUgTEFURVhfRk9PVEVSIHRhZyBjYW4gYmUg dXNlZCB0byBzcGVjaWZ5IGEgcGVyc29uYWwgTGFUZVggZm9vdGVyIGZvcgorKyMgdGhlIGdlbmVy YXRlZCBsYXRleCBkb2N1bWVudC4gVGhlIGZvb3RlciBzaG91bGQgY29udGFpbiBldmVyeXRoaW5n IGFmdGVyCisrIyB0aGUgbGFzdCBjaGFwdGVyLiBJZiBpdCBpcyBsZWZ0IGJsYW5rIGRveHlnZW4g d2lsbCBnZW5lcmF0ZSBhCisrIyBzdGFuZGFyZCBmb290ZXIuIE5vdGljZTogb25seSB1c2UgdGhp cyB0YWcgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nIQorKworK0xBVEVYX0ZPT1RFUiAg ICAgICAgICAgPQorKworKyMgVGhlIExBVEVYX0VYVFJBX0ZJTEVTIHRhZyBjYW4gYmUgdXNlZCB0 byBzcGVjaWZ5IG9uZSBvciBtb3JlIGV4dHJhIGltYWdlcworKyMgb3Igb3RoZXIgc291cmNlIGZp bGVzIHdoaWNoIHNob3VsZCBiZSBjb3BpZWQgdG8gdGhlIExhVGVYIG91dHB1dCBkaXJlY3Rvcnku CisrIyBOb3RlIHRoYXQgdGhlIGZpbGVzIHdpbGwgYmUgY29waWVkIGFzLWlzOyB0aGVyZSBhcmUg bm8gY29tbWFuZHMgb3IgbWFya2VycworKyMgYXZhaWxhYmxlLgorKworK0xBVEVYX0VYVFJBX0ZJ TEVTICAgICAgPQorKworICMgSWYgdGhlIFBERl9IWVBFUkxJTktTIHRhZyBpcyBzZXQgdG8gWUVT LCB0aGUgTGFUZVggdGhhdCBpcyBnZW5lcmF0ZWQKKyAjIGlzIHByZXBhcmVkIGZvciBjb252ZXJz aW9uIHRvIHBkZiAodXNpbmcgcHMycGRmKS4gVGhlIHBkZiBmaWxlIHdpbGwKKyAjIGNvbnRhaW4g bGlua3MgKGp1c3QgbGlrZSB0aGUgSFRNTCBvdXRwdXQpIGluc3RlYWQgb2YgcGFnZSByZWZlcmVu Y2VzCitAQCAtMTA0MSw2ICsxNDA0LDE5IEBAIExBVEVYX0JBVENITU9ERSAgICAgICAgPSBOTwor IAorIExBVEVYX0hJREVfSU5ESUNFUyAgICAgPSBOTworIAorKyMgSWYgTEFURVhfU09VUkNFX0NP REUgaXMgc2V0IHRvIFlFUyB0aGVuIGRveHlnZW4gd2lsbCBpbmNsdWRlCisrIyBzb3VyY2UgY29k ZSB3aXRoIHN5bnRheCBoaWdobGlnaHRpbmcgaW4gdGhlIExhVGVYIG91dHB1dC4KKysjIE5vdGUg dGhhdCB3aGljaCBzb3VyY2VzIGFyZSBzaG93biBhbHNvIGRlcGVuZHMgb24gb3RoZXIgc2V0dGlu Z3MKKysjIHN1Y2ggYXMgU09VUkNFX0JST1dTRVIuCisrCisrTEFURVhfU09VUkNFX0NPREUgICAg ICA9IE5PCisrCisrIyBUaGUgTEFURVhfQklCX1NUWUxFIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVj aWZ5IHRoZSBzdHlsZSB0byB1c2UgZm9yIHRoZQorKyMgYmlibGlvZ3JhcGh5LCBlLmcuIHBsYWlu bmF0LCBvciBpZWVldHIuIFRoZSBkZWZhdWx0IHN0eWxlIGlzICJwbGFpbiIuIFNlZQorKyMgaHR0 cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CaWJUZVggZm9yIG1vcmUgaW5mby4KKysKKytMQVRF WF9CSUJfU1RZTEUgICAgICAgID0gcGxhaW4KKysKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBj b25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgUlRGIG91dHB1dAorICMtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KK0BAIC0xMDcyLDcgKzE0NDgsNyBAQCBDT01QQUNUX1JURiAgICAgICAgICAg ID0gTk8KKyAKKyBSVEZfSFlQRVJMSU5LUyAgICAgICAgID0gTk8KKyAKKy0jIExvYWQgc3R5bGVz aGVldCBkZWZpbml0aW9ucyBmcm9tIGZpbGUuIFN5bnRheCBpcyBzaW1pbGFyIHRvIGRveHlnZW4n cworKyMgTG9hZCBzdHlsZSBzaGVldCBkZWZpbml0aW9ucyBmcm9tIGZpbGUuIFN5bnRheCBpcyBz aW1pbGFyIHRvIGRveHlnZW4ncworICMgY29uZmlnIGZpbGUsIGkuZS4gYSBzZXJpZXMgb2YgYXNz aWdubWVudHMuIFlvdSBvbmx5IGhhdmUgdG8gcHJvdmlkZQorICMgcmVwbGFjZW1lbnRzLCBtaXNz aW5nIGRlZmluaXRpb25zIGFyZSBzZXQgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZS4KKyAKK0BAIC0x MTI3LDE4ICsxNTAzLDYgQEAgR0VORVJBVEVfWE1MICAgICAgICAgICA9IEBlbmFibGVfeG1sX2Rv Y3NACisgCisgWE1MX09VVFBVVCAgICAgICAgICAgICA9IHhtbAorIAorLSMgVGhlIFhNTF9TQ0hF TUEgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYW4gWE1MIHNjaGVtYSwKKy0jIHdoaWNoIGNh biBiZSB1c2VkIGJ5IGEgdmFsaWRhdGluZyBYTUwgcGFyc2VyIHRvIGNoZWNrIHRoZQorLSMgc3lu dGF4IG9mIHRoZSBYTUwgZmlsZXMuCistCistWE1MX1NDSEVNQSAgICAgICAgICAgICA9CistCist IyBUaGUgWE1MX0RURCB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhbiBYTUwgRFRELAorLSMg d2hpY2ggY2FuIGJlIHVzZWQgYnkgYSB2YWxpZGF0aW5nIFhNTCBwYXJzZXIgdG8gY2hlY2sgdGhl CistIyBzeW50YXggb2YgdGhlIFhNTCBmaWxlcy4KKy0KKy1YTUxfRFREICAgICAgICAgICAgICAg ID0KKy0KKyAjIElmIHRoZSBYTUxfUFJPR1JBTUxJU1RJTkcgdGFnIGlzIHNldCB0byBZRVMgRG94 eWdlbiB3aWxsCisgIyBkdW1wIHRoZSBwcm9ncmFtIGxpc3RpbmdzIChpbmNsdWRpbmcgc3ludGF4 IGhpZ2hsaWdodGluZworICMgYW5kIGNyb3NzLXJlZmVyZW5jaW5nIGluZm9ybWF0aW9uKSB0byB0 aGUgWE1MIG91dHB1dC4gTm90ZSB0aGF0CitAQCAtMTE0Niw2ICsxNTEwLDIxIEBAIFhNTF9EVEQg ICAgICAgICAgICAgICAgPQorIAorIFhNTF9QUk9HUkFNTElTVElORyAgICAgPSBOTworIAorKyMt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKysjIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRo ZSBET0NCT09LIG91dHB1dAorKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKysjIElmIHRoZSBHRU5F UkFURV9ET0NCT09LIHRhZyBpcyBzZXQgdG8gWUVTIERveHlnZW4gd2lsbCBnZW5lcmF0ZSBET0NC T09LIGZpbGVzCisrIyB0aGF0IGNhbiBiZSB1c2VkIHRvIGdlbmVyYXRlIFBERi4KKysKKytHRU5F UkFURV9ET0NCT09LICAgICAgID0gTk8KKysKKysjIFRoZSBET0NCT09LX09VVFBVVCB0YWcgaXMg dXNlZCB0byBzcGVjaWZ5IHdoZXJlIHRoZSBET0NCT09LIHBhZ2VzIHdpbGwgYmUgcHV0LgorKyMg SWYgYSByZWxhdGl2ZSBwYXRoIGlzIGVudGVyZWQgdGhlIHZhbHVlIG9mIE9VVFBVVF9ESVJFQ1RP Ulkgd2lsbCBiZSBwdXQgaW4KKysjIGZyb250IG9mIGl0LiBJZiBsZWZ0IGJsYW5rIGRvY2Jvb2sg d2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHBhdGguCisrCisrRE9DQk9PS19PVVRQVVQgICAg ICAgICA9IGRvY2Jvb2sKKysKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBjb25maWd1cmF0aW9u IG9wdGlvbnMgZm9yIHRoZSBBdXRvR2VuIERlZmluaXRpb25zIG91dHB1dAorICMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KK0BAIC0xMTc3LDggKzE1NTYsMTAgQEAgR0VORVJBVEVfUEVSTE1PRCAgICAgICA9 IE5PCisgUEVSTE1PRF9MQVRFWCAgICAgICAgICA9IE5PCisgCisgIyBJZiB0aGUgUEVSTE1PRF9Q UkVUVFkgdGFnIGlzIHNldCB0byBZRVMgdGhlIFBlcmwgbW9kdWxlIG91dHB1dCB3aWxsIGJlCist IyBuaWNlbHkgZm9ybWF0dGVkIHNvIGl0IGNhbiBiZSBwYXJzZWQgYnkgYSBodW1hbiByZWFkZXIu ICBUaGlzIGlzIHVzZWZ1bAorLSMgaWYgeW91IHdhbnQgdG8gdW5kZXJzdGFuZCB3aGF0IGlzIGdv aW5nIG9uLiAgT24gdGhlIG90aGVyIGhhbmQsIGlmIHRoaXMKKysjIG5pY2VseSBmb3JtYXR0ZWQg c28gaXQgY2FuIGJlIHBhcnNlZCBieSBhIGh1bWFuIHJlYWRlci4KKysjIFRoaXMgaXMgdXNlZnVs CisrIyBpZiB5b3Ugd2FudCB0byB1bmRlcnN0YW5kIHdoYXQgaXMgZ29pbmcgb24uCisrIyBPbiB0 aGUgb3RoZXIgaGFuZCwgaWYgdGhpcworICMgdGFnIGlzIHNldCB0byBOTyB0aGUgc2l6ZSBvZiB0 aGUgUGVybCBtb2R1bGUgb3V0cHV0IHdpbGwgYmUgbXVjaCBzbWFsbGVyCisgIyBhbmQgUGVybCB3 aWxsIHBhcnNlIGl0IGp1c3QgdGhlIHNhbWUuCisgCitAQCAtMTIxNSw3ICsxNTk2LDcgQEAgTUFD Uk9fRVhQQU5TSU9OICAgICAgICA9IE5PCisgRVhQQU5EX09OTFlfUFJFREVGICAgICA9IE5PCisg CisgIyBJZiB0aGUgU0VBUkNIX0lOQ0xVREVTIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVs dCkgdGhlIGluY2x1ZGVzIGZpbGVzCistIyBpbiB0aGUgSU5DTFVERV9QQVRIIChzZWUgYmVsb3cp IHdpbGwgYmUgc2VhcmNoIGlmIGEgI2luY2x1ZGUgaXMgZm91bmQuCisrIyBwb2ludGVkIHRvIGJ5 IElOQ0xVREVfUEFUSCB3aWxsIGJlIHNlYXJjaGVkIHdoZW4gYSAjaW5jbHVkZSBpcyBmb3VuZC4K KyAKKyBTRUFSQ0hfSU5DTFVERVMgICAgICAgID0gWUVTCisgCitAQCAtMTI0NSwxNSArMTYyNiwx NSBAQCBQUkVERUZJTkVEICAgICAgICAgICAgID0KKyAjIElmIHRoZSBNQUNST19FWFBBTlNJT04g YW5kIEVYUEFORF9PTkxZX1BSRURFRiB0YWdzIGFyZSBzZXQgdG8gWUVTIHRoZW4KKyAjIHRoaXMg dGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBsaXN0IG9mIG1hY3JvIG5hbWVzIHRoYXQgc2hv dWxkIGJlIGV4cGFuZGVkLgorICMgVGhlIG1hY3JvIGRlZmluaXRpb24gdGhhdCBpcyBmb3VuZCBp biB0aGUgc291cmNlcyB3aWxsIGJlIHVzZWQuCistIyBVc2UgdGhlIFBSRURFRklORUQgdGFnIGlm IHlvdSB3YW50IHRvIHVzZSBhIGRpZmZlcmVudCBtYWNybyBkZWZpbml0aW9uLgorKyMgVXNlIHRo ZSBQUkVERUZJTkVEIHRhZyBpZiB5b3Ugd2FudCB0byB1c2UgYSBkaWZmZXJlbnQgbWFjcm8gZGVm aW5pdGlvbiB0aGF0CisrIyBvdmVycnVsZXMgdGhlIGRlZmluaXRpb24gZm91bmQgaW4gdGhlIHNv dXJjZSBjb2RlLgorIAorIEVYUEFORF9BU19ERUZJTkVEICAgICAgPQorIAorICMgSWYgdGhlIFNL SVBfRlVOQ1RJT05fTUFDUk9TIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgdGhlbgor LSMgZG94eWdlbidzIHByZXByb2Nlc3NvciB3aWxsIHJlbW92ZSBhbGwgZnVuY3Rpb24tbGlrZSBt YWNyb3MgdGhhdCBhcmUgYWxvbmUKKy0jIG9uIGEgbGluZSwgaGF2ZSBhbiBhbGwgdXBwZXJjYXNl IG5hbWUsIGFuZCBkbyBub3QgZW5kIHdpdGggYSBzZW1pY29sb24uIFN1Y2gKKy0jIGZ1bmN0aW9u IG1hY3JvcyBhcmUgdHlwaWNhbGx5IHVzZWQgZm9yIGJvaWxlci1wbGF0ZSBjb2RlLCBhbmQgd2ls bCBjb25mdXNlCistIyB0aGUgcGFyc2VyIGlmIG5vdCByZW1vdmVkLgorKyMgZG94eWdlbidzIHBy ZXByb2Nlc3NvciB3aWxsIHJlbW92ZSBhbGwgcmVmZXJlbmNlcyB0byBmdW5jdGlvbi1saWtlIG1h Y3JvcworKyMgdGhhdCBhcmUgYWxvbmUgb24gYSBsaW5lLCBoYXZlIGFuIGFsbCB1cHBlcmNhc2Ug bmFtZSwgYW5kIGRvIG5vdCBlbmQgd2l0aCBhCisrIyBzZW1pY29sb24sIGJlY2F1c2UgdGhlc2Ug d2lsbCBjb25mdXNlIHRoZSBwYXJzZXIgaWYgbm90IHJlbW92ZWQuCisgCisgU0tJUF9GVU5DVElP Tl9NQUNST1MgICA9IFlFUworIAorQEAgLTEyNjEsMjAgKzE2NDIsMTggQEAgU0tJUF9GVU5DVElP Tl9NQUNST1MgICA9IFlFUworICMgQ29uZmlndXJhdGlvbjo6YWRkaXRpb25zIHJlbGF0ZWQgdG8g ZXh0ZXJuYWwgcmVmZXJlbmNlcworICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKy0jIFRoZSBUQUdG SUxFUyBvcHRpb24gY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBvbmUgb3IgbW9yZSB0YWdmaWxlcy4K Ky0jIE9wdGlvbmFsbHkgYW4gaW5pdGlhbCBsb2NhdGlvbiBvZiB0aGUgZXh0ZXJuYWwgZG9jdW1l bnRhdGlvbgorLSMgY2FuIGJlIGFkZGVkIGZvciBlYWNoIHRhZ2ZpbGUuIFRoZSBmb3JtYXQgb2Yg YSB0YWcgZmlsZSB3aXRob3V0CistIyB0aGlzIGxvY2F0aW9uIGlzIGFzIGZvbGxvd3M6CistIyAg IFRBR0ZJTEVTID0gZmlsZTEgZmlsZTIgLi4uCisrIyBUaGUgVEFHRklMRVMgb3B0aW9uIGNhbiBi ZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgdGFnZmlsZXMuIEZvciBlYWNoCisrIyB0YWcg ZmlsZSB0aGUgbG9jYXRpb24gb2YgdGhlIGV4dGVybmFsIGRvY3VtZW50YXRpb24gc2hvdWxkIGJl IGFkZGVkLiBUaGUKKysjIGZvcm1hdCBvZiBhIHRhZyBmaWxlIHdpdGhvdXQgdGhpcyBsb2NhdGlv biBpcyBhcyBmb2xsb3dzOgorKyMKKysjIFRBR0ZJTEVTID0gZmlsZTEgZmlsZTIgLi4uCisgIyBB ZGRpbmcgbG9jYXRpb24gZm9yIHRoZSB0YWcgZmlsZXMgaXMgZG9uZSBhcyBmb2xsb3dzOgorLSMg ICBUQUdGSUxFUyA9IGZpbGUxPWxvYzEgImZpbGUyID0gbG9jMiIgLi4uCistIyB3aGVyZSAibG9j MSIgYW5kICJsb2MyIiBjYW4gYmUgcmVsYXRpdmUgb3IgYWJzb2x1dGUgcGF0aHMgb3IKKy0jIFVS THMuIElmIGEgbG9jYXRpb24gaXMgcHJlc2VudCBmb3IgZWFjaCB0YWcsIHRoZSBpbnN0YWxsZG94 IHRvb2wKKy0jIGRvZXMgbm90IGhhdmUgdG8gYmUgcnVuIHRvIGNvcnJlY3QgdGhlIGxpbmtzLgor LSMgTm90ZSB0aGF0IGVhY2ggdGFnIGZpbGUgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUKKy0jICh3 aGVyZSB0aGUgbmFtZSBkb2VzIE5PVCBpbmNsdWRlIHRoZSBwYXRoKQorLSMgSWYgYSB0YWcgZmls ZSBpcyBub3QgbG9jYXRlZCBpbiB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIGRveHlnZW4KKy0jIGlz IHJ1biwgeW91IG11c3QgYWxzbyBzcGVjaWZ5IHRoZSBwYXRoIHRvIHRoZSB0YWdmaWxlIGhlcmUu CisrIworKyMgVEFHRklMRVMgPSBmaWxlMT1sb2MxICJmaWxlMiA9IGxvYzIiIC4uLgorKyMgd2hl cmUgImxvYzEiIGFuZCAibG9jMiIgY2FuIGJlIHJlbGF0aXZlIG9yIGFic29sdXRlIHBhdGhzCisr IyBvciBVUkxzLiBOb3RlIHRoYXQgZWFjaCB0YWcgZmlsZSBtdXN0IGhhdmUgYSB1bmlxdWUgbmFt ZSAod2hlcmUgdGhlIG5hbWUgZG9lcworKyMgTk9UIGluY2x1ZGUgdGhlIHBhdGgpLiBJZiBhIHRh ZyBmaWxlIGlzIG5vdCBsb2NhdGVkIGluIHRoZSBkaXJlY3RvcnkgaW4gd2hpY2gKKysjIGRveHln ZW4gaXMgcnVuLCB5b3UgbXVzdCBhbHNvIHNwZWNpZnkgdGhlIHBhdGggdG8gdGhlIHRhZ2ZpbGUg aGVyZS4KKyAKKyBUQUdGSUxFUyAgICAgICAgICAgICAgID0KKyAKK0BAIC0xMjk1LDYgKzE2NzQs MTIgQEAgQUxMRVhURVJOQUxTICAgICAgICAgICA9IE5PCisgCisgRVhURVJOQUxfR1JPVVBTICAg ICAgICA9IFlFUworIAorKyMgSWYgdGhlIEVYVEVSTkFMX1BBR0VTIHRhZyBpcyBzZXQgdG8gWUVT IGFsbCBleHRlcm5hbCBwYWdlcyB3aWxsIGJlIGxpc3RlZAorKyMgaW4gdGhlIHJlbGF0ZWQgcGFn ZXMgaW5kZXguIElmIHNldCB0byBOTywgb25seSB0aGUgY3VycmVudCBwcm9qZWN0J3MKKysjIHBh Z2VzIHdpbGwgYmUgbGlzdGVkLgorKworK0VYVEVSTkFMX1BBR0VTICAgICAgICAgPSBZRVMKKysK KyAjIFRoZSBQRVJMX1BBVEggc2hvdWxkIGJlIHRoZSBhYnNvbHV0ZSBwYXRoIGFuZCBuYW1lIG9m IHRoZSBwZXJsIHNjcmlwdAorICMgaW50ZXJwcmV0ZXIgKGkuZS4gdGhlIHJlc3VsdCBvZiBgd2hp Y2ggcGVybCcpLgorIAorQEAgLTEzMDcsOSArMTY5Miw4IEBAIFBFUkxfUEFUSCAgICAgICAgICAg ICAgPSAvdXNyL2Jpbi9wZXJsCisgIyBJZiB0aGUgQ0xBU1NfRElBR1JBTVMgdGFnIGlzIHNldCB0 byBZRVMgKHRoZSBkZWZhdWx0KSBEb3h5Z2VuIHdpbGwKKyAjIGdlbmVyYXRlIGEgaW5oZXJpdGFu Y2UgZGlhZ3JhbSAoaW4gSFRNTCwgUlRGIGFuZCBMYVRlWCkgZm9yIGNsYXNzZXMgd2l0aCBiYXNl CisgIyBvciBzdXBlciBjbGFzc2VzLiBTZXR0aW5nIHRoZSB0YWcgdG8gTk8gdHVybnMgdGhlIGRp YWdyYW1zIG9mZi4gTm90ZSB0aGF0CistIyB0aGlzIG9wdGlvbiBpcyBzdXBlcnNlZGVkIGJ5IHRo ZSBIQVZFX0RPVCBvcHRpb24gYmVsb3cuIFRoaXMgaXMgb25seSBhCistIyBmYWxsYmFjay4gSXQg aXMgcmVjb21tZW5kZWQgdG8gaW5zdGFsbCBhbmQgdXNlIGRvdCwgc2luY2UgaXQgeWllbGRzIG1v cmUKKy0jIHBvd2VyZnVsIGdyYXBocy4KKysjIHRoaXMgb3B0aW9uIGFsc28gd29ya3Mgd2l0aCBI QVZFX0RPVCBkaXNhYmxlZCwgYnV0IGl0IGlzIHJlY29tbWVuZGVkIHRvCisrIyBpbnN0YWxsIGFu ZCB1c2UgZG90LCBzaW5jZSBpdCB5aWVsZHMgbW9yZSBwb3dlcmZ1bCBncmFwaHMuCisgCisgQ0xB U1NfRElBR1JBTVMgICAgICAgICA9IFlFUworIAorQEAgLTEzMzUsMzMgKzE3MTksMzggQEAgSElE RV9VTkRPQ19SRUxBVElPTlMgICA9IFlFUworIAorIEhBVkVfRE9UICAgICAgICAgICAgICAgPSBA SEFWRV9ET1RACisgCistIyBCeSBkZWZhdWx0IGRveHlnZW4gd2lsbCB3cml0ZSBhIGZvbnQgY2Fs bGVkIEZyZWVTYW5zLnR0ZiB0byB0aGUgb3V0cHV0CistIyBkaXJlY3RvcnkgYW5kIHJlZmVyZW5j ZSBpdCBpbiBhbGwgZG90IGZpbGVzIHRoYXQgZG94eWdlbiBnZW5lcmF0ZXMuIFRoaXMKKy0jIGZv bnQgZG9lcyBub3QgaW5jbHVkZSBhbGwgcG9zc2libGUgdW5pY29kZSBjaGFyYWN0ZXJzIGhvd2V2 ZXIsIHNvIHdoZW4geW91IG5lZWQKKy0jIHRoZXNlIChvciBqdXN0IHdhbnQgYSBkaWZmZXJlbnRs eSBsb29raW5nIGZvbnQpIHlvdSBjYW4gc3BlY2lmeSB0aGUgZm9udCBuYW1lCistIyB1c2luZyBE T1RfRk9OVE5BTUUuIFlvdSBuZWVkIG5lZWQgdG8gbWFrZSBzdXJlIGRvdCBpcyBhYmxlIHRvIGZp bmQgdGhlIGZvbnQsCistIyB3aGljaCBjYW4gYmUgZG9uZSBieSBwdXR0aW5nIGl0IGluIGEgc3Rh bmRhcmQgbG9jYXRpb24gb3IgYnkgc2V0dGluZyB0aGUKKy0jIERPVEZPTlRQQVRIIGVudmlyb25t ZW50IHZhcmlhYmxlIG9yIGJ5IHNldHRpbmcgRE9UX0ZPTlRQQVRIIHRvIHRoZSBkaXJlY3RvcnkK Ky0jIGNvbnRhaW5pbmcgdGhlIGZvbnQuCisrIyBUaGUgRE9UX05VTV9USFJFQURTIHNwZWNpZmll cyB0aGUgbnVtYmVyIG9mIGRvdCBpbnZvY2F0aW9ucyBkb3h5Z2VuIGlzCisrIyBhbGxvd2VkIHRv IHJ1biBpbiBwYXJhbGxlbC4gV2hlbiBzZXQgdG8gMCAodGhlIGRlZmF1bHQpIGRveHlnZW4gd2ls bAorKyMgYmFzZSB0aGlzIG9uIHRoZSBudW1iZXIgb2YgcHJvY2Vzc29ycyBhdmFpbGFibGUgaW4g dGhlIHN5c3RlbS4gWW91IGNhbiBzZXQgaXQKKysjIGV4cGxpY2l0bHkgdG8gYSB2YWx1ZSBsYXJn ZXIgdGhhbiAwIHRvIGdldCBjb250cm9sIG92ZXIgdGhlIGJhbGFuY2UKKysjIGJldHdlZW4gQ1BV IGxvYWQgYW5kIHByb2Nlc3Npbmcgc3BlZWQuCisrCisrRE9UX05VTV9USFJFQURTICAgICAgICA9 IDAKKysKKysjIEJ5IGRlZmF1bHQgZG94eWdlbiB3aWxsIHVzZSB0aGUgSGVsdmV0aWNhIGZvbnQg Zm9yIGFsbCBkb3QgZmlsZXMgdGhhdAorKyMgZG94eWdlbiBnZW5lcmF0ZXMuIFdoZW4geW91IHdh bnQgYSBkaWZmZXJlbnRseSBsb29raW5nIGZvbnQgeW91IGNhbiBzcGVjaWZ5CisrIyB0aGUgZm9u dCBuYW1lIHVzaW5nIERPVF9GT05UTkFNRS4gWW91IG5lZWQgdG8gbWFrZSBzdXJlIGRvdCBpcyBh YmxlIHRvIGZpbmQKKysjIHRoZSBmb250LCB3aGljaCBjYW4gYmUgZG9uZSBieSBwdXR0aW5nIGl0 IGluIGEgc3RhbmRhcmQgbG9jYXRpb24gb3IgYnkgc2V0dGluZworKyMgdGhlIERPVEZPTlRQQVRI IGVudmlyb25tZW50IHZhcmlhYmxlIG9yIGJ5IHNldHRpbmcgRE9UX0ZPTlRQQVRIIHRvIHRoZQor KyMgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGZvbnQuCisgCistRE9UX0ZPTlROQU1FICAgICAg ICAgICA9IEZyZWVTYW5zCisrRE9UX0ZPTlROQU1FICAgICAgICAgICA9IEhlbHZldGljYQorIAor ICMgVGhlIERPVF9GT05UU0laRSB0YWcgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBzaXplIG9mIHRo ZSBmb250IG9mIGRvdCBncmFwaHMuCisgIyBUaGUgZGVmYXVsdCBzaXplIGlzIDEwcHQuCisgCisg RE9UX0ZPTlRTSVpFICAgICAgICAgICA9IDEwCisgCistIyBCeSBkZWZhdWx0IGRveHlnZW4gd2ls bCB0ZWxsIGRvdCB0byB1c2UgdGhlIG91dHB1dCBkaXJlY3RvcnkgdG8gbG9vayBmb3IgdGhlCist IyBGcmVlU2Fucy50dGYgZm9udCAod2hpY2ggZG94eWdlbiB3aWxsIHB1dCB0aGVyZSBpdHNlbGYp LiBJZiB5b3Ugc3BlY2lmeSBhCistIyBkaWZmZXJlbnQgZm9udCB1c2luZyBET1RfRk9OVE5BTUUg eW91IGNhbiBzZXQgdGhlIHBhdGggd2hlcmUgZG90CistIyBjYW4gZmluZCBpdCB1c2luZyB0aGlz IHRhZy4KKysjIEJ5IGRlZmF1bHQgZG94eWdlbiB3aWxsIHRlbGwgZG90IHRvIHVzZSB0aGUgSGVs dmV0aWNhIGZvbnQuCisrIyBJZiB5b3Ugc3BlY2lmeSBhIGRpZmZlcmVudCBmb250IHVzaW5nIERP VF9GT05UTkFNRSB5b3UgY2FuIHVzZSBET1RfRk9OVFBBVEggdG8KKysjIHNldCB0aGUgcGF0aCB3 aGVyZSBkb3QgY2FuIGZpbmQgaXQuCisgCisgRE9UX0ZPTlRQQVRIICAgICAgICAgICA9CisgCisg IyBJZiB0aGUgQ0xBU1NfR1JBUEggYW5kIEhBVkVfRE9UIHRhZ3MgYXJlIHNldCB0byBZRVMgdGhl biBkb3h5Z2VuCisgIyB3aWxsIGdlbmVyYXRlIGEgZ3JhcGggZm9yIGVhY2ggZG9jdW1lbnRlZCBj bGFzcyBzaG93aW5nIHRoZSBkaXJlY3QgYW5kCisgIyBpbmRpcmVjdCBpbmhlcml0YW5jZSByZWxh dGlvbnMuIFNldHRpbmcgdGhpcyB0YWcgdG8gWUVTIHdpbGwgZm9yY2UgdGhlCistIyB0aGUgQ0xB U1NfRElBR1JBTVMgdGFnIHRvIE5PLgorKyMgQ0xBU1NfRElBR1JBTVMgdGFnIHRvIE5PLgorIAor IENMQVNTX0dSQVBIICAgICAgICAgICAgPSBZRVMKKyAKK0BAIC0xMzgzLDYgKzE3NzIsMTUgQEAg R1JPVVBfR1JBUEhTICAgICAgICAgICA9IFlFUworIAorIFVNTF9MT09LICAgICAgICAgICAgICAg PSBOTworIAorKyMgSWYgdGhlIFVNTF9MT09LIHRhZyBpcyBlbmFibGVkLCB0aGUgZmllbGRzIGFu ZCBtZXRob2RzIGFyZSBzaG93biBpbnNpZGUKKysjIHRoZSBjbGFzcyBub2RlLiBJZiB0aGVyZSBh cmUgbWFueSBmaWVsZHMgb3IgbWV0aG9kcyBhbmQgbWFueSBub2RlcyB0aGUKKysjIGdyYXBoIG1h eSBiZWNvbWUgdG9vIGJpZyB0byBiZSB1c2VmdWwuIFRoZSBVTUxfTElNSVRfTlVNX0ZJRUxEUwor KyMgdGhyZXNob2xkIGxpbWl0cyB0aGUgbnVtYmVyIG9mIGl0ZW1zIGZvciBlYWNoIHR5cGUgdG8g bWFrZSB0aGUgc2l6ZSBtb3JlCisrIyBtYW5hZ2VhYmxlLiBTZXQgdGhpcyB0byAwIGZvciBubyBs aW1pdC4gTm90ZSB0aGF0IHRoZSB0aHJlc2hvbGQgbWF5IGJlCisrIyBleGNlZWRlZCBieSA1MCUg YmVmb3JlIHRoZSBsaW1pdCBpcyBlbmZvcmNlZC4KKysKKytVTUxfTElNSVRfTlVNX0ZJRUxEUyAg ID0gMTAKKysKKyAjIElmIHNldCB0byBZRVMsIHRoZSBpbmhlcml0YW5jZSBhbmQgY29sbGFib3Jh dGlvbiBncmFwaHMgd2lsbCBzaG93IHRoZQorICMgcmVsYXRpb25zIGJldHdlZW4gdGVtcGxhdGVz IGFuZCB0aGVpciBpbnN0YW5jZXMuCisgCitAQCAtMTQxOSwxMSArMTgxNywxMSBAQCBDQUxMX0dS QVBIICAgICAgICAgICAgID0gTk8KKyBDQUxMRVJfR1JBUEggICAgICAgICAgID0gTk8KKyAKKyAj IElmIHRoZSBHUkFQSElDQUxfSElFUkFSQ0hZIGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8g WUVTIHRoZW4gZG94eWdlbgorLSMgd2lsbCBncmFwaGljYWwgaGllcmFyY2h5IG9mIGFsbCBjbGFz c2VzIGluc3RlYWQgb2YgYSB0ZXh0dWFsIG9uZS4KKysjIHdpbGwgZ2VuZXJhdGUgYSBncmFwaGlj YWwgaGllcmFyY2h5IG9mIGFsbCBjbGFzc2VzIGluc3RlYWQgb2YgYSB0ZXh0dWFsIG9uZS4KKyAK KyBHUkFQSElDQUxfSElFUkFSQ0hZICAgID0gWUVTCisgCistIyBJZiB0aGUgRElSRUNUT1JZX0dS QVBILCBTSE9XX0RJUkVDVE9SSUVTIGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVTCisr IyBJZiB0aGUgRElSRUNUT1JZX0dSQVBIIGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVT CisgIyB0aGVuIGRveHlnZW4gd2lsbCBzaG93IHRoZSBkZXBlbmRlbmNpZXMgYSBkaXJlY3Rvcnkg aGFzIG9uIG90aGVyIGRpcmVjdG9yaWVzCisgIyBpbiBhIGdyYXBoaWNhbCB3YXkuIFRoZSBkZXBl bmRlbmN5IHJlbGF0aW9ucyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgI2luY2x1ZGUKKyAjIHJlbGF0 aW9ucyBiZXR3ZWVuIHRoZSBmaWxlcyBpbiB0aGUgZGlyZWN0b3JpZXMuCitAQCAtMTQzMSwxMSAr MTgyOSwyMiBAQCBHUkFQSElDQUxfSElFUkFSQ0hZICAgID0gWUVTCisgRElSRUNUT1JZX0dSQVBI ICAgICAgICA9IFlFUworIAorICMgVGhlIERPVF9JTUFHRV9GT1JNQVQgdGFnIGNhbiBiZSB1c2Vk IHRvIHNldCB0aGUgaW1hZ2UgZm9ybWF0IG9mIHRoZSBpbWFnZXMKKy0jIGdlbmVyYXRlZCBieSBk b3QuIFBvc3NpYmxlIHZhbHVlcyBhcmUgcG5nLCBqcGcsIG9yIGdpZgorLSMgSWYgbGVmdCBibGFu ayBwbmcgd2lsbCBiZSB1c2VkLgorKyMgZ2VuZXJhdGVkIGJ5IGRvdC4gUG9zc2libGUgdmFsdWVz IGFyZSBzdmcsIHBuZywganBnLCBvciBnaWYuCisrIyBJZiBsZWZ0IGJsYW5rIHBuZyB3aWxsIGJl IHVzZWQuIElmIHlvdSBjaG9vc2Ugc3ZnIHlvdSBuZWVkIHRvIHNldAorKyMgSFRNTF9GSUxFX0VY VEVOU0lPTiB0byB4aHRtbCBpbiBvcmRlciB0byBtYWtlIHRoZSBTVkcgZmlsZXMKKysjIHZpc2li bGUgaW4gSUUgOSsgKG90aGVyIGJyb3dzZXJzIGRvIG5vdCBoYXZlIHRoaXMgcmVxdWlyZW1lbnQp LgorIAorIERPVF9JTUFHRV9GT1JNQVQgICAgICAgPSBwbmcKKyAKKysjIElmIERPVF9JTUFHRV9G T1JNQVQgaXMgc2V0IHRvIHN2ZywgdGhlbiB0aGlzIG9wdGlvbiBjYW4gYmUgc2V0IHRvIFlFUyB0 bworKyMgZW5hYmxlIGdlbmVyYXRpb24gb2YgaW50ZXJhY3RpdmUgU1ZHIGltYWdlcyB0aGF0IGFs bG93IHpvb21pbmcgYW5kIHBhbm5pbmcuCisrIyBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyBhIG1v ZGVybiBicm93c2VyIG90aGVyIHRoYW4gSW50ZXJuZXQgRXhwbG9yZXIuCisrIyBUZXN0ZWQgYW5k IHdvcmtpbmcgYXJlIEZpcmVmb3gsIENocm9tZSwgU2FmYXJpLCBhbmQgT3BlcmEuIEZvciBJRSA5 KyB5b3UKKysjIG5lZWQgdG8gc2V0IEhUTUxfRklMRV9FWFRFTlNJT04gdG8geGh0bWwgaW4gb3Jk ZXIgdG8gbWFrZSB0aGUgU1ZHIGZpbGVzCisrIyB2aXNpYmxlLiBPbGRlciB2ZXJzaW9ucyBvZiBJ RSBkbyBub3QgaGF2ZSBTVkcgc3VwcG9ydC4KKysKKytJTlRFUkFDVElWRV9TVkcgICAgICAgID0g Tk8KKysKKyAjIFRoZSB0YWcgRE9UX1BBVEggY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgcGF0 aCB3aGVyZSB0aGUgZG90IHRvb2wgY2FuIGJlCisgIyBmb3VuZC4gSWYgbGVmdCBibGFuaywgaXQg aXMgYXNzdW1lZCB0aGUgZG90IHRvb2wgY2FuIGJlIGZvdW5kIGluIHRoZSBwYXRoLgorIAorQEAg LTE0NDcsNiArMTg1NiwxMiBAQCBET1RfUEFUSCAgICAgICAgICAgICAgID0KKyAKKyBET1RGSUxF X0RJUlMgICAgICAgICAgID0KKyAKKysjIFRoZSBNU0NGSUxFX0RJUlMgdGFnIGNhbiBiZSB1c2Vk IHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgZGlyZWN0b3JpZXMgdGhhdAorKyMgY29udGFpbiBtc2Mg ZmlsZXMgdGhhdCBhcmUgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gKHNlZSB0aGUKKysj IFxtc2NmaWxlIGNvbW1hbmQpLgorKworK01TQ0ZJTEVfRElSUyAgICAgICAgICAgPQorKworICMg VGhlIERPVF9HUkFQSF9NQVhfTk9ERVMgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgbWF4aW11 bSBudW1iZXIgb2YKKyAjIG5vZGVzIHRoYXQgd2lsbCBiZSBzaG93biBpbiB0aGUgZ3JhcGguIElm IHRoZSBudW1iZXIgb2Ygbm9kZXMgaW4gYSBncmFwaAorICMgYmVjb21lcyBsYXJnZXIgdGhhbiB0 aGlzIHZhbHVlLCBkb3h5Z2VuIHdpbGwgdHJ1bmNhdGUgdGhlIGdyYXBoLCB3aGljaCBpcworQEAg LTE0OTMsMTIgKzE5MDgsMyBAQCBHRU5FUkFURV9MRUdFTkQgICAgICAgID0gWUVTCisgIyB0aGUg dmFyaW91cyBncmFwaHMuCisgCisgRE9UX0NMRUFOVVAgICAgICAgICAgICA9IFlFUworLQorLSMt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKy0jIENvbmZpZ3VyYXRpb246OmFkZGl0aW9ucyByZWxhdGVkIHRv IHRoZSBzZWFyY2ggZW5naW5lCistIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQorLSMgVGhlIFNFQVJD SEVOR0lORSB0YWcgc3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IGEgc2VhcmNoIGVuZ2luZSBzaG91 bGQgYmUKKy0jIHVzZWQuIElmIHNldCB0byBOTyB0aGUgdmFsdWVzIG9mIGFsbCB0YWdzIGJlbG93 IHRoaXMgb25lIHdpbGwgYmUgaWdub3JlZC4KKy0KKy1TRUFSQ0hFTkdJTkUgICAgICAgICAgID0g Tk8KK2RpZmYgLS1naXQgYS9kb2NzL2RveHlnZW4vRG94eWZpbGUuc3dpZ19kb2MuaW4gYi9kb2Nz L2RveHlnZW4vRG94eWZpbGUuc3dpZ19kb2MuaW4KK2luZGV4IDUwYjhhYTguLjMzYmMyYWYgMTAw NjQ0CistLS0gZG9jcy9kb3h5Z2VuL0RveHlmaWxlLnN3aWdfZG9jLmluCisrKysgZG9jcy9kb3h5 Z2VuL0RveHlmaWxlLnN3aWdfZG9jLmluCitAQCAtMSwxNCArMSwxNiBAQAorLSMgRG94eWZpbGUg MS42LjEKKysjIERveHlmaWxlIDEuOC40CisgCisgIyBUaGlzIGZpbGUgZGVzY3JpYmVzIHRoZSBz ZXR0aW5ncyB0byBiZSB1c2VkIGJ5IHRoZSBkb2N1bWVudGF0aW9uIHN5c3RlbQorLSMgZG94eWdl biAod3d3LmRveHlnZW4ub3JnKSBmb3IgYSBwcm9qZWN0CisrIyBkb3h5Z2VuICh3d3cuZG94eWdl bi5vcmcpIGZvciBhIHByb2plY3QuCisgIworLSMgQWxsIHRleHQgYWZ0ZXIgYSBoYXNoICgjKSBp cyBjb25zaWRlcmVkIGEgY29tbWVudCBhbmQgd2lsbCBiZSBpZ25vcmVkCisrIyBBbGwgdGV4dCBh ZnRlciBhIGRvdWJsZSBoYXNoICgjIykgaXMgY29uc2lkZXJlZCBhIGNvbW1lbnQgYW5kIGlzIHBs YWNlZAorKyMgaW4gZnJvbnQgb2YgdGhlIFRBRyBpdCBpcyBwcmVjZWRpbmcgLgorKyMgQWxsIHRl eHQgYWZ0ZXIgYSBoYXNoICgjKSBpcyBjb25zaWRlcmVkIGEgY29tbWVudCBhbmQgd2lsbCBiZSBp Z25vcmVkLgorICMgVGhlIGZvcm1hdCBpczoKKyAjICAgICAgIFRBRyA9IHZhbHVlIFt2YWx1ZSwg Li4uXQorICMgRm9yIGxpc3RzIGl0ZW1zIGNhbiBhbHNvIGJlIGFwcGVuZGVkIHVzaW5nOgorICMg ICAgICAgVEFHICs9IHZhbHVlIFt2YWx1ZSwgLi4uXQorLSMgVmFsdWVzIHRoYXQgY29udGFpbiBz cGFjZXMgc2hvdWxkIGJlIHBsYWNlZCBiZXR3ZWVuIHF1b3RlcyAoIiAiKQorKyMgVmFsdWVzIHRo YXQgY29udGFpbiBzcGFjZXMgc2hvdWxkIGJlIHBsYWNlZCBiZXR3ZWVuIHF1b3RlcyAoIiAiKS4K KyAKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBQcm9qZWN0IHJlbGF0ZWQgY29uZmlndXJhdGlv biBvcHRpb25zCitAQCAtMjIsOCArMjQsOSBAQAorIAorIERPWFlGSUxFX0VOQ09ESU5HICAgICAg PSBVVEYtOAorIAorLSMgVGhlIFBST0pFQ1RfTkFNRSB0YWcgaXMgYSBzaW5nbGUgd29yZCAob3Ig YSBzZXF1ZW5jZSBvZiB3b3JkcyBzdXJyb3VuZGVkCistIyBieSBxdW90ZXMpIHRoYXQgc2hvdWxk IGlkZW50aWZ5IHRoZSBwcm9qZWN0LgorKyMgVGhlIFBST0pFQ1RfTkFNRSB0YWcgaXMgYSBzaW5n bGUgd29yZCAob3Igc2VxdWVuY2Ugb2Ygd29yZHMpIHRoYXQgc2hvdWxkCisrIyBpZGVudGlmeSB0 aGUgcHJvamVjdC4gTm90ZSB0aGF0IGlmIHlvdSBkbyBub3QgdXNlIERveHl3aXphcmQgeW91IG5l ZWQKKysjIHRvIHB1dCBxdW90ZXMgYXJvdW5kIHRoZSBwcm9qZWN0IG5hbWUgaWYgaXQgY29udGFp bnMgc3BhY2VzLgorIAorIFBST0pFQ1RfTkFNRSAgICAgICAgICAgPSBAQ1BBQ0tfUEFDS0FHRV9O QU1FQAorIAorQEAgLTMzLDYgKzM2LDE5IEBAIFBST0pFQ1RfTkFNRSAgICAgICAgICAgPSBAQ1BB Q0tfUEFDS0FHRV9OQU1FQAorIAorIFBST0pFQ1RfTlVNQkVSICAgICAgICAgPSBAQ1BBQ0tfUEFD S0FHRV9WRVJTSU9OQAorIAorKyMgVXNpbmcgdGhlIFBST0pFQ1RfQlJJRUYgdGFnIG9uZSBjYW4g cHJvdmlkZSBhbiBvcHRpb25hbCBvbmUgbGluZSBkZXNjcmlwdGlvbgorKyMgZm9yIGEgcHJvamVj dCB0aGF0IGFwcGVhcnMgYXQgdGhlIHRvcCBvZiBlYWNoIHBhZ2UgYW5kIHNob3VsZCBnaXZlIHZp ZXdlcgorKyMgYSBxdWljayBpZGVhIGFib3V0IHRoZSBwdXJwb3NlIG9mIHRoZSBwcm9qZWN0LiBL ZWVwIHRoZSBkZXNjcmlwdGlvbiBzaG9ydC4KKysKKytQUk9KRUNUX0JSSUVGICAgICAgICAgID0K KysKKysjIFdpdGggdGhlIFBST0pFQ1RfTE9HTyB0YWcgb25lIGNhbiBzcGVjaWZ5IGFuIGxvZ28g b3IgaWNvbiB0aGF0IGlzCisrIyBpbmNsdWRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gVGhlIG1h eGltdW0gaGVpZ2h0IG9mIHRoZSBsb2dvIHNob3VsZCBub3QKKysjIGV4Y2VlZCA1NSBwaXhlbHMg YW5kIHRoZSBtYXhpbXVtIHdpZHRoIHNob3VsZCBub3QgZXhjZWVkIDIwMCBwaXhlbHMuCisrIyBE b3h5Z2VuIHdpbGwgY29weSB0aGUgbG9nbyB0byB0aGUgb3V0cHV0IGRpcmVjdG9yeS4KKysKKytQ Uk9KRUNUX0xPR08gICAgICAgICAgID0KKysKKyAjIFRoZSBPVVRQVVRfRElSRUNUT1JZIHRhZyBp cyB1c2VkIHRvIHNwZWNpZnkgdGhlIChyZWxhdGl2ZSBvciBhYnNvbHV0ZSkKKyAjIGJhc2UgcGF0 aCB3aGVyZSB0aGUgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24gd2lsbCBiZSBwdXQuCisgIyBJZiBh IHJlbGF0aXZlIHBhdGggaXMgZW50ZXJlZCwgaXQgd2lsbCBiZSByZWxhdGl2ZSB0byB0aGUgbG9j YXRpb24KK0BAIC01Niw5ICs3Miw5IEBAIENSRUFURV9TVUJESVJTICAgICAgICAgPSBOTworICMg QWZyaWthYW5zLCBBcmFiaWMsIEJyYXppbGlhbiwgQ2F0YWxhbiwgQ2hpbmVzZSwgQ2hpbmVzZS1U cmFkaXRpb25hbCwKKyAjIENyb2F0aWFuLCBDemVjaCwgRGFuaXNoLCBEdXRjaCwgRXNwZXJhbnRv LCBGYXJzaSwgRmlubmlzaCwgRnJlbmNoLCBHZXJtYW4sCisgIyBHcmVlaywgSHVuZ2FyaWFuLCBJ dGFsaWFuLCBKYXBhbmVzZSwgSmFwYW5lc2UtZW4gKEphcGFuZXNlIHdpdGggRW5nbGlzaAorLSMg bWVzc2FnZXMpLCBLb3JlYW4sIEtvcmVhbi1lbiwgTGl0aHVhbmlhbiwgTm9yd2VnaWFuLCBNYWNl ZG9uaWFuLCBQZXJzaWFuLAorLSMgUG9saXNoLCBQb3J0dWd1ZXNlLCBSb21hbmlhbiwgUnVzc2lh biwgU2VyYmlhbiwgU2VyYmlhbi1DeXJpbGljLCBTbG92YWssCistIyBTbG92ZW5lLCBTcGFuaXNo LCBTd2VkaXNoLCBVa3JhaW5pYW4sIGFuZCBWaWV0bmFtZXNlLgorKyMgbWVzc2FnZXMpLCBLb3Jl YW4sIEtvcmVhbi1lbiwgTGF0dmlhbiwgTGl0aHVhbmlhbiwgTm9yd2VnaWFuLCBNYWNlZG9uaWFu LAorKyMgUGVyc2lhbiwgUG9saXNoLCBQb3J0dWd1ZXNlLCBSb21hbmlhbiwgUnVzc2lhbiwgU2Vy YmlhbiwgU2VyYmlhbi1DeXJpbGxpYywKKysjIFNsb3ZhaywgU2xvdmVuZSwgU3BhbmlzaCwgU3dl ZGlzaCwgVWtyYWluaWFuLCBhbmQgVmlldG5hbWVzZS4KKyAKKyBPVVRQVVRfTEFOR1VBR0UgICAg ICAgID0gRW5nbGlzaAorIAorQEAgLTEwNSwxNCArMTIxLDE2IEBAIElOTElORV9JTkhFUklURURf TUVNQiAgPSBOTworICMgcGF0aCBiZWZvcmUgZmlsZXMgbmFtZSBpbiB0aGUgZmlsZSBsaXN0IGFu ZCBpbiB0aGUgaGVhZGVyIGZpbGVzLiBJZiBzZXQKKyAjIHRvIE5PIHRoZSBzaG9ydGVzdCBwYXRo IHRoYXQgbWFrZXMgdGhlIGZpbGUgbmFtZSB1bmlxdWUgd2lsbCBiZSB1c2VkLgorIAorLUZVTExf UEFUSF9OQU1FUyAgICAgICAgPSBZRVMKKytGVUxMX1BBVEhfTkFNRVMgICAgICAgID0gTk8KKyAK KyAjIElmIHRoZSBGVUxMX1BBVEhfTkFNRVMgdGFnIGlzIHNldCB0byBZRVMgdGhlbiB0aGUgU1RS SVBfRlJPTV9QQVRIIHRhZworICMgY2FuIGJlIHVzZWQgdG8gc3RyaXAgYSB1c2VyLWRlZmluZWQg cGFydCBvZiB0aGUgcGF0aC4gU3RyaXBwaW5nIGlzCisgIyBvbmx5IGRvbmUgaWYgb25lIG9mIHRo ZSBzcGVjaWZpZWQgc3RyaW5ncyBtYXRjaGVzIHRoZSBsZWZ0LWhhbmQgcGFydCBvZgorICMgdGhl IHBhdGguIFRoZSB0YWcgY2FuIGJlIHVzZWQgdG8gc2hvdyByZWxhdGl2ZSBwYXRocyBpbiB0aGUg ZmlsZSBsaXN0LgorICMgSWYgbGVmdCBibGFuayB0aGUgZGlyZWN0b3J5IGZyb20gd2hpY2ggZG94 eWdlbiBpcyBydW4gaXMgdXNlZCBhcyB0aGUKKy0jIHBhdGggdG8gc3RyaXAuCisrIyBwYXRoIHRv IHN0cmlwLiBOb3RlIHRoYXQgeW91IHNwZWNpZnkgYWJzb2x1dGUgcGF0aHMgaGVyZSwgYnV0IGFs c28KKysjIHJlbGF0aXZlIHBhdGhzLCB3aGljaCB3aWxsIGJlIHJlbGF0aXZlIGZyb20gdGhlIGRp cmVjdG9yeSB3aGVyZSBkb3h5Z2VuIGlzCisrIyBzdGFydGVkLgorIAorIFNUUklQX0ZST01fUEFU SCAgICAgICAgPQorIAorQEAgLTEyNiw3ICsxNDQsNyBAQCBTVFJJUF9GUk9NX1BBVEggICAgICAg ID0KKyBTVFJJUF9GUk9NX0lOQ19QQVRIICAgID0KKyAKKyAjIElmIHRoZSBTSE9SVF9OQU1FUyB0 YWcgaXMgc2V0IHRvIFlFUywgZG94eWdlbiB3aWxsIGdlbmVyYXRlIG11Y2ggc2hvcnRlcgorLSMg KGJ1dCBsZXNzIHJlYWRhYmxlKSBmaWxlIG5hbWVzLiBUaGlzIGNhbiBiZSB1c2VmdWwgaXMgeW91 ciBmaWxlIHN5c3RlbXMKKysjIChidXQgbGVzcyByZWFkYWJsZSkgZmlsZSBuYW1lcy4gVGhpcyBj YW4gYmUgdXNlZnVsIGlmIHlvdXIgZmlsZSBzeXN0ZW0KKyAjIGRvZXNuJ3Qgc3VwcG9ydCBsb25n IG5hbWVzIGxpa2Ugb24gRE9TLCBNYWMsIG9yIENELVJPTS4KKyAKKyBTSE9SVF9OQU1FUyAgICAg ICAgICAgID0gTk8KK0BAIC0xODEsNiArMTk5LDEzIEBAIFRBQl9TSVpFICAgICAgICAgICAgICAg PSA4CisgCisgQUxJQVNFUyAgICAgICAgICAgICAgICA9CisgCisrIyBUaGlzIHRhZyBjYW4gYmUg dXNlZCB0byBzcGVjaWZ5IGEgbnVtYmVyIG9mIHdvcmQta2V5d29yZCBtYXBwaW5ncyAoVENMIG9u bHkpLgorKyMgQSBtYXBwaW5nIGhhcyB0aGUgZm9ybSAibmFtZT12YWx1ZSIuIEZvciBleGFtcGxl IGFkZGluZworKyMgImNsYXNzPWl0Y2w6OmNsYXNzIiB3aWxsIGFsbG93IHlvdSB0byB1c2UgdGhl IGNvbW1hbmQgY2xhc3MgaW4gdGhlCisrIyBpdGNsOjpjbGFzcyBtZWFuaW5nLgorKworK1RDTF9T VUJTVCAgICAgICAgICAgICAgPQorKworICMgU2V0IHRoZSBPUFRJTUlaRV9PVVRQVVRfRk9SX0Mg dGFnIHRvIFlFUyBpZiB5b3VyIHByb2plY3QgY29uc2lzdHMgb2YgQworICMgc291cmNlcyBvbmx5 LiBEb3h5Z2VuIHdpbGwgdGhlbiBnZW5lcmF0ZSBvdXRwdXQgdGhhdCBpcyBtb3JlIHRhaWxvcmVk IGZvciBDLgorICMgRm9yIGluc3RhbmNlLCBzb21lIG9mIHRoZSBuYW1lcyB0aGF0IGFyZSB1c2Vk IHdpbGwgYmUgZGlmZmVyZW50LiBUaGUgbGlzdAorQEAgLTIwNywyMiArMjMyLDQwIEBAIE9QVElN SVpFX0ZPUl9GT1JUUkFOICAgPSBOTworIAorIE9QVElNSVpFX09VVFBVVF9WSERMICAgPSBOTwor IAorLSMgRG94eWdlbiBzZWxlY3RzIHRoZSBwYXJzZXIgdG8gdXNlIGRlcGVuZGluZyBvbiB0aGUg ZXh0ZW5zaW9uIG9mIHRoZSBmaWxlcyBpdCBwYXJzZXMuCistIyBXaXRoIHRoaXMgdGFnIHlvdSBj YW4gYXNzaWduIHdoaWNoIHBhcnNlciB0byB1c2UgZm9yIGEgZ2l2ZW4gZXh0ZW5zaW9uLgorLSMg RG94eWdlbiBoYXMgYSBidWlsdC1pbiBtYXBwaW5nLCBidXQgeW91IGNhbiBvdmVycmlkZSBvciBl eHRlbmQgaXQgdXNpbmcgdGhpcyB0YWcuCistIyBUaGUgZm9ybWF0IGlzIGV4dD1sYW5ndWFnZSwg d2hlcmUgZXh0IGlzIGEgZmlsZSBleHRlbnNpb24sIGFuZCBsYW5ndWFnZSBpcyBvbmUgb2YKKy0j IHRoZSBwYXJzZXJzIHN1cHBvcnRlZCBieSBkb3h5Z2VuOiBJREwsIEphdmEsIEphdmFzY3JpcHQs IEMjLCBDLCBDKyssIEQsIFBIUCwKKy0jIE9iamVjdGl2ZS1DLCBQeXRob24sIEZvcnRyYW4sIFZI REwsIEMsIEMrKy4gRm9yIGluc3RhbmNlIHRvIG1ha2UgZG94eWdlbiB0cmVhdAorLSMgLmluYyBm aWxlcyBhcyBGb3J0cmFuIGZpbGVzIChkZWZhdWx0IGlzIFBIUCksIGFuZCAuZiBmaWxlcyBhcyBD IChkZWZhdWx0IGlzIEZvcnRyYW4pLAorLSMgdXNlOiBpbmM9Rm9ydHJhbiBmPUMuIE5vdGUgdGhh dCBmb3IgY3VzdG9tIGV4dGVuc2lvbnMgeW91IGFsc28gbmVlZCB0byBzZXQgRklMRV9QQVRURVJO UyBvdGhlcndpc2UgdGhlIGZpbGVzIGFyZSBub3QgcmVhZCBieSBkb3h5Z2VuLgorKyMgRG94eWdl biBzZWxlY3RzIHRoZSBwYXJzZXIgdG8gdXNlIGRlcGVuZGluZyBvbiB0aGUgZXh0ZW5zaW9uIG9m IHRoZSBmaWxlcyBpdAorKyMgcGFyc2VzLiBXaXRoIHRoaXMgdGFnIHlvdSBjYW4gYXNzaWduIHdo aWNoIHBhcnNlciB0byB1c2UgZm9yIGEgZ2l2ZW4KKysjIGV4dGVuc2lvbi4gRG94eWdlbiBoYXMg YSBidWlsdC1pbiBtYXBwaW5nLCBidXQgeW91IGNhbiBvdmVycmlkZSBvciBleHRlbmQgaXQKKysj IHVzaW5nIHRoaXMgdGFnLiBUaGUgZm9ybWF0IGlzIGV4dD1sYW5ndWFnZSwgd2hlcmUgZXh0IGlz IGEgZmlsZSBleHRlbnNpb24sCisrIyBhbmQgbGFuZ3VhZ2UgaXMgb25lIG9mIHRoZSBwYXJzZXJz IHN1cHBvcnRlZCBieSBkb3h5Z2VuOiBJREwsIEphdmEsCisrIyBKYXZhc2NyaXB0LCBDU2hhcnAs IEMsIEMrKywgRCwgUEhQLCBPYmplY3RpdmUtQywgUHl0aG9uLCBGb3J0cmFuLCBWSERMLCBDLAor KyMgQysrLiBGb3IgaW5zdGFuY2UgdG8gbWFrZSBkb3h5Z2VuIHRyZWF0IC5pbmMgZmlsZXMgYXMg Rm9ydHJhbiBmaWxlcyAoZGVmYXVsdAorKyMgaXMgUEhQKSwgYW5kIC5mIGZpbGVzIGFzIEMgKGRl ZmF1bHQgaXMgRm9ydHJhbiksIHVzZTogaW5jPUZvcnRyYW4gZj1DLiBOb3RlCisrIyB0aGF0IGZv ciBjdXN0b20gZXh0ZW5zaW9ucyB5b3UgYWxzbyBuZWVkIHRvIHNldCBGSUxFX1BBVFRFUk5TIG90 aGVyd2lzZSB0aGUKKysjIGZpbGVzIGFyZSBub3QgcmVhZCBieSBkb3h5Z2VuLgorIAorIEVYVEVO U0lPTl9NQVBQSU5HICAgICAgPQorIAorKyMgSWYgTUFSS0RPV05fU1VQUE9SVCBpcyBlbmFibGVk ICh0aGUgZGVmYXVsdCkgdGhlbiBkb3h5Z2VuIHByZS1wcm9jZXNzZXMgYWxsCisrIyBjb21tZW50 cyBhY2NvcmRpbmcgdG8gdGhlIE1hcmtkb3duIGZvcm1hdCwgd2hpY2ggYWxsb3dzIGZvciBtb3Jl IHJlYWRhYmxlCisrIyBkb2N1bWVudGF0aW9uLiBTZWUgaHR0cDovL2RhcmluZ2ZpcmViYWxsLm5l dC9wcm9qZWN0cy9tYXJrZG93bi8gZm9yIGRldGFpbHMuCisrIyBUaGUgb3V0cHV0IG9mIG1hcmtk b3duIHByb2Nlc3NpbmcgaXMgZnVydGhlciBwcm9jZXNzZWQgYnkgZG94eWdlbiwgc28geW91Cisr IyBjYW4gbWl4IGRveHlnZW4sIEhUTUwsIGFuZCBYTUwgY29tbWFuZHMgd2l0aCBNYXJrZG93biBm b3JtYXR0aW5nLgorKyMgRGlzYWJsZSBvbmx5IGluIGNhc2Ugb2YgYmFja3dhcmQgY29tcGF0aWJp bGl0aWVzIGlzc3Vlcy4KKysKKytNQVJLRE9XTl9TVVBQT1JUICAgICAgID0gWUVTCisrCisrIyBX aGVuIGVuYWJsZWQgZG94eWdlbiB0cmllcyB0byBsaW5rIHdvcmRzIHRoYXQgY29ycmVzcG9uZCB0 byBkb2N1bWVudGVkCisrIyBjbGFzc2VzLCBvciBuYW1lc3BhY2VzIHRvIHRoZWlyIGNvcnJlc3Bv bmRpbmcgZG9jdW1lbnRhdGlvbi4gU3VjaCBhIGxpbmsgY2FuCisrIyBiZSBwcmV2ZW50ZWQgaW4g aW5kaXZpZHVhbCBjYXNlcyBieSBieSBwdXR0aW5nIGEgJSBzaWduIGluIGZyb250IG9mIHRoZSB3 b3JkCisrIyBvciBnbG9iYWxseSBieSBzZXR0aW5nIEFVVE9MSU5LX1NVUFBPUlQgdG8gTk8uCisr CisrQVVUT0xJTktfU1VQUE9SVCAgICAgICA9IFlFUworKworICMgSWYgeW91IHVzZSBTVEwgY2xh c3NlcyAoaS5lLiBzdGQ6OnN0cmluZywgc3RkOjp2ZWN0b3IsIGV0Yy4pIGJ1dCBkbyBub3Qgd2Fu dAorICMgdG8gaW5jbHVkZSAoYSB0YWcgZmlsZSBmb3IpIHRoZSBTVEwgc291cmNlcyBhcyBpbnB1 dCwgdGhlbiB5b3Ugc2hvdWxkCisgIyBzZXQgdGhpcyB0YWcgdG8gWUVTIGluIG9yZGVyIHRvIGxl dCBkb3h5Z2VuIG1hdGNoIGZ1bmN0aW9ucyBkZWNsYXJhdGlvbnMgYW5kCisgIyBkZWZpbml0aW9u cyB3aG9zZSBhcmd1bWVudHMgY29udGFpbiBTVEwgY2xhc3NlcyAoZS5nLiBmdW5jKHN0ZDo6c3Ry aW5nKTsgdi5zLgorLSMgZnVuYyhzdGQ6OnN0cmluZykge30pLiBUaGlzIGFsc28gbWFrZSB0aGUg aW5oZXJpdGFuY2UgYW5kIGNvbGxhYm9yYXRpb24KKysjIGZ1bmMoc3RkOjpzdHJpbmcpIHt9KS4g VGhpcyBhbHNvIG1ha2VzIHRoZSBpbmhlcml0YW5jZSBhbmQgY29sbGFib3JhdGlvbgorICMgZGlh Z3JhbXMgdGhhdCBpbnZvbHZlIFNUTCBjbGFzc2VzIG1vcmUgY29tcGxldGUgYW5kIGFjY3VyYXRl LgorIAorIEJVSUxUSU5fU1RMX1NVUFBPUlQgICAgPSBZRVMKK0BAIC0yMzgsMTAgKzI4MSwxMCBA QCBDUFBfQ0xJX1NVUFBPUlQgICAgICAgID0gTk8KKyAKKyBTSVBfU1VQUE9SVCAgICAgICAgICAg ID0gTk8KKyAKKy0jIEZvciBNaWNyb3NvZnQncyBJREwgdGhlcmUgYXJlIHByb3BnZXQgYW5kIHBy b3BwdXQgYXR0cmlidXRlcyB0byBpbmRpY2F0ZSBnZXR0ZXIKKy0jIGFuZCBzZXR0ZXIgbWV0aG9k cyBmb3IgYSBwcm9wZXJ0eS4gU2V0dGluZyB0aGlzIG9wdGlvbiB0byBZRVMgKHRoZSBkZWZhdWx0 KQorLSMgd2lsbCBtYWtlIGRveHlnZW4gdG8gcmVwbGFjZSB0aGUgZ2V0IGFuZCBzZXQgbWV0aG9k cyBieSBhIHByb3BlcnR5IGluIHRoZQorLSMgZG9jdW1lbnRhdGlvbi4gVGhpcyB3aWxsIG9ubHkg d29yayBpZiB0aGUgbWV0aG9kcyBhcmUgaW5kZWVkIGdldHRpbmcgb3IKKysjIEZvciBNaWNyb3Nv ZnQncyBJREwgdGhlcmUgYXJlIHByb3BnZXQgYW5kIHByb3BwdXQgYXR0cmlidXRlcyB0byBpbmRp Y2F0ZQorKyMgZ2V0dGVyIGFuZCBzZXR0ZXIgbWV0aG9kcyBmb3IgYSBwcm9wZXJ0eS4gU2V0dGlu ZyB0aGlzIG9wdGlvbiB0byBZRVMgKHRoZQorKyMgZGVmYXVsdCkgd2lsbCBtYWtlIGRveHlnZW4g cmVwbGFjZSB0aGUgZ2V0IGFuZCBzZXQgbWV0aG9kcyBieSBhIHByb3BlcnR5IGluCisrIyB0aGUg ZG9jdW1lbnRhdGlvbi4gVGhpcyB3aWxsIG9ubHkgd29yayBpZiB0aGUgbWV0aG9kcyBhcmUgaW5k ZWVkIGdldHRpbmcgb3IKKyAjIHNldHRpbmcgYSBzaW1wbGUgdHlwZS4gSWYgdGhpcyBpcyBub3Qg dGhlIGNhc2UsIG9yIHlvdSB3YW50IHRvIHNob3cgdGhlCisgIyBtZXRob2RzIGFueXdheSwgeW91 IHNob3VsZCBzZXQgdGhpcyBvcHRpb24gdG8gTk8uCisgCitAQCAtMjYyLDYgKzMwNSwyMiBAQCBE SVNUUklCVVRFX0dST1VQX0RPQyAgID0gTk8KKyAKKyBTVUJHUk9VUElORyAgICAgICAgICAgID0g WUVTCisgCisrIyBXaGVuIHRoZSBJTkxJTkVfR1JPVVBFRF9DTEFTU0VTIHRhZyBpcyBzZXQgdG8g WUVTLCBjbGFzc2VzLCBzdHJ1Y3RzIGFuZAorKyMgdW5pb25zIGFyZSBzaG93biBpbnNpZGUgdGhl IGdyb3VwIGluIHdoaWNoIHRoZXkgYXJlIGluY2x1ZGVkIChlLmcuIHVzaW5nCisrIyBAaW5ncm91 cCkgaW5zdGVhZCBvZiBvbiBhIHNlcGFyYXRlIHBhZ2UgKGZvciBIVE1MIGFuZCBNYW4gcGFnZXMp IG9yCisrIyBzZWN0aW9uIChmb3IgTGFUZVggYW5kIFJURikuCisrCisrSU5MSU5FX0dST1VQRURf Q0xBU1NFUyA9IE5PCisrCisrIyBXaGVuIHRoZSBJTkxJTkVfU0lNUExFX1NUUlVDVFMgdGFnIGlz IHNldCB0byBZRVMsIHN0cnVjdHMsIGNsYXNzZXMsIGFuZAorKyMgdW5pb25zIHdpdGggb25seSBw dWJsaWMgZGF0YSBmaWVsZHMgb3Igc2ltcGxlIHR5cGVkZWYgZmllbGRzIHdpbGwgYmUgc2hvd24K KysjIGlubGluZSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgc2NvcGUgaW4gd2hpY2ggdGhl eSBhcmUgZGVmaW5lZCAoaS5lLiBmaWxlLAorKyMgbmFtZXNwYWNlLCBvciBncm91cCBkb2N1bWVu dGF0aW9uKSwgcHJvdmlkZWQgdGhpcyBzY29wZSBpcyBkb2N1bWVudGVkLiBJZiBzZXQKKysjIHRv IE5PICh0aGUgZGVmYXVsdCksIHN0cnVjdHMsIGNsYXNzZXMsIGFuZCB1bmlvbnMgYXJlIHNob3du IG9uIGEgc2VwYXJhdGUKKysjIHBhZ2UgKGZvciBIVE1MIGFuZCBNYW4gcGFnZXMpIG9yIHNlY3Rp b24gKGZvciBMYVRlWCBhbmQgUlRGKS4KKysKKytJTkxJTkVfU0lNUExFX1NUUlVDVFMgID0gTk8K KysKKyAjIFdoZW4gVFlQRURFRl9ISURFU19TVFJVQ1QgaXMgZW5hYmxlZCwgYSB0eXBlZGVmIG9m IGEgc3RydWN0LCB1bmlvbiwgb3IgZW51bQorICMgaXMgZG9jdW1lbnRlZCBhcyBzdHJ1Y3QsIHVu aW9uLCBvciBlbnVtIHdpdGggdGhlIG5hbWUgb2YgdGhlIHR5cGVkZWYuIFNvCisgIyB0eXBlZGVm IHN0cnVjdCBUeXBlUyB7fSBUeXBlVCwgd2lsbCBhcHBlYXIgaW4gdGhlIGRvY3VtZW50YXRpb24g YXMgYSBzdHJ1Y3QKK0BAIC0yNzIsMjEgKzMzMSwxNiBAQCBTVUJHUk9VUElORyAgICAgICAgICAg ID0gWUVTCisgCisgVFlQRURFRl9ISURFU19TVFJVQ1QgICA9IE5PCisgCistIyBUaGUgU1lNQk9M X0NBQ0hFX1NJWkUgZGV0ZXJtaW5lcyB0aGUgc2l6ZSBvZiB0aGUgaW50ZXJuYWwgY2FjaGUgdXNl IHRvCistIyBkZXRlcm1pbmUgd2hpY2ggc3ltYm9scyB0byBrZWVwIGluIG1lbW9yeSBhbmQgd2hp Y2ggdG8gZmx1c2ggdG8gZGlzay4KKy0jIFdoZW4gdGhlIGNhY2hlIGlzIGZ1bGwsIGxlc3Mgb2Z0 ZW4gdXNlZCBzeW1ib2xzIHdpbGwgYmUgd3JpdHRlbiB0byBkaXNrLgorLSMgRm9yIHNtYWxsIHRv IG1lZGl1bSBzaXplIHByb2plY3RzICg8MTAwMCBpbnB1dCBmaWxlcykgdGhlIGRlZmF1bHQgdmFs dWUgaXMKKy0jIHByb2JhYmx5IGdvb2QgZW5vdWdoLiBGb3IgbGFyZ2VyIHByb2plY3RzIGEgdG9v IHNtYWxsIGNhY2hlIHNpemUgY2FuIGNhdXNlCistIyBkb3h5Z2VuIHRvIGJlIGJ1c3kgc3dhcHBp bmcgc3ltYm9scyB0byBhbmQgZnJvbSBkaXNrIG1vc3Qgb2YgdGhlIHRpbWUKKy0jIGNhdXNpbmcg YSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBwZW5hbGl0eS4KKy0jIElmIHRoZSBzeXN0ZW0gaGFz IGVub3VnaCBwaHlzaWNhbCBtZW1vcnkgaW5jcmVhc2luZyB0aGUgY2FjaGUgd2lsbCBpbXByb3Zl IHRoZQorLSMgcGVyZm9ybWFuY2UgYnkga2VlcGluZyBtb3JlIHN5bWJvbHMgaW4gbWVtb3J5LiBO b3RlIHRoYXQgdGhlIHZhbHVlIHdvcmtzIG9uCistIyBhIGxvZ2FyaXRobWljIHNjYWxlIHNvIGlu Y3JlYXNpbmcgdGhlIHNpemUgYnkgb25lIHdpbGwgcm91Z2x5IGRvdWJsZSB0aGUKKy0jIG1lbW9y eSB1c2FnZS4gVGhlIGNhY2hlIHNpemUgaXMgZ2l2ZW4gYnkgdGhpcyBmb3JtdWxhOgorLSMgMl4o MTYrU1lNQk9MX0NBQ0hFX1NJWkUpLiBUaGUgdmFsaWQgcmFuZ2UgaXMgMC4uOSwgdGhlIGRlZmF1 bHQgaXMgMCwKKy0jIGNvcnJlc3BvbmRpbmcgdG8gYSBjYWNoZSBzaXplIG9mIDJeMTYgPSA2NTUz NiBzeW1ib2xzCistCistU1lNQk9MX0NBQ0hFX1NJWkUgICAgICA9IDAKKysjIFRoZSBzaXplIG9m IHRoZSBzeW1ib2wgbG9va3VwIGNhY2hlIGNhbiBiZSBzZXQgdXNpbmcgTE9PS1VQX0NBQ0hFX1NJ WkUuIFRoaXMKKysjIGNhY2hlIGlzIHVzZWQgdG8gcmVzb2x2ZSBzeW1ib2xzIGdpdmVuIHRoZWly IG5hbWUgYW5kIHNjb3BlLiBTaW5jZSB0aGlzIGNhbgorKyMgYmUgYW4gZXhwZW5zaXZlIHByb2Nl c3MgYW5kIG9mdGVuIHRoZSBzYW1lIHN5bWJvbCBhcHBlYXIgbXVsdGlwbGUgdGltZXMgaW4KKysj IHRoZSBjb2RlLCBkb3h5Z2VuIGtlZXBzIGEgY2FjaGUgb2YgcHJlLXJlc29sdmVkIHN5bWJvbHMu IElmIHRoZSBjYWNoZSBpcyB0b28KKysjIHNtYWxsIGRveHlnZW4gd2lsbCBiZWNvbWUgc2xvd2Vy LiBJZiB0aGUgY2FjaGUgaXMgdG9vIGxhcmdlLCBtZW1vcnkgaXMgd2FzdGVkLgorKyMgVGhlIGNh Y2hlIHNpemUgaXMgZ2l2ZW4gYnkgdGhpcyBmb3JtdWxhOiAyXigxNitMT09LVVBfQ0FDSEVfU0la RSkuIFRoZSB2YWxpZAorKyMgcmFuZ2UgaXMgMC4uOSwgdGhlIGRlZmF1bHQgaXMgMCwgY29ycmVz cG9uZGluZyB0byBhIGNhY2hlIHNpemUgb2YgMl4xNiA9IDY1NTM2CisrIyBzeW1ib2xzLgorKwor K0xPT0tVUF9DQUNIRV9TSVpFICAgICAgPSAwCisgCisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMg QnVpbGQgcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMKK0BAIC0yOTUsNyArMzQ5LDcgQEAg U1lNQk9MX0NBQ0hFX1NJWkUgICAgICA9IDAKKyAjIElmIHRoZSBFWFRSQUNUX0FMTCB0YWcgaXMg c2V0IHRvIFlFUyBkb3h5Z2VuIHdpbGwgYXNzdW1lIGFsbCBlbnRpdGllcyBpbgorICMgZG9jdW1l bnRhdGlvbiBhcmUgZG9jdW1lbnRlZCwgZXZlbiBpZiBubyBkb2N1bWVudGF0aW9uIHdhcyBhdmFp bGFibGUuCisgIyBQcml2YXRlIGNsYXNzIG1lbWJlcnMgYW5kIHN0YXRpYyBmaWxlIG1lbWJlcnMg d2lsbCBiZSBoaWRkZW4gdW5sZXNzCistIyB0aGUgRVhUUkFDVF9QUklWQVRFIGFuZCBFWFRSQUNU X1NUQVRJQyB0YWdzIGFyZSBzZXQgdG8gWUVTCisrIyB0aGUgRVhUUkFDVF9QUklWQVRFIHJlc3Bl Y3RpdmVseSBFWFRSQUNUX1NUQVRJQyB0YWdzIGFyZSBzZXQgdG8gWUVTCisgCisgRVhUUkFDVF9B TEwgICAgICAgICAgICA9IFlFUworIAorQEAgLTMwNCw2ICszNTgsMTEgQEAgRVhUUkFDVF9BTEwg ICAgICAgICAgICA9IFlFUworIAorIEVYVFJBQ1RfUFJJVkFURSAgICAgICAgPSBOTworIAorKyMg SWYgdGhlIEVYVFJBQ1RfUEFDS0FHRSB0YWcgaXMgc2V0IHRvIFlFUyBhbGwgbWVtYmVycyB3aXRo IHBhY2thZ2Ugb3IgaW50ZXJuYWwKKysjIHNjb3BlIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGRv Y3VtZW50YXRpb24uCisrCisrRVhUUkFDVF9QQUNLQUdFICAgICAgICA9IE5PCisrCisgIyBJZiB0 aGUgRVhUUkFDVF9TVEFUSUMgdGFnIGlzIHNldCB0byBZRVMgYWxsIHN0YXRpYyBtZW1iZXJzIG9m IGEgZmlsZQorICMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KKyAKK0BA IC0zMjYsNyArMzg1LDcgQEAgRVhUUkFDVF9MT0NBTF9NRVRIT0RTICA9IE5PCisgIyBleHRyYWN0 ZWQgYW5kIGFwcGVhciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhcyBhIG5hbWVzcGFjZSBjYWxsZWQK KyAjICdhbm9ueW1vdXNfbmFtZXNwYWNle2ZpbGV9Jywgd2hlcmUgZmlsZSB3aWxsIGJlIHJlcGxh Y2VkIHdpdGggdGhlIGJhc2UKKyAjIG5hbWUgb2YgdGhlIGZpbGUgdGhhdCBjb250YWlucyB0aGUg YW5vbnltb3VzIG5hbWVzcGFjZS4gQnkgZGVmYXVsdAorLSMgYW5vbnltb3VzIG5hbWVzcGFjZSBh cmUgaGlkZGVuLgorKyMgYW5vbnltb3VzIG5hbWVzcGFjZXMgYXJlIGhpZGRlbi4KKyAKKyBFWFRS QUNUX0FOT05fTlNQQUNFUyAgID0gTk8KKyAKK0BAIC0zODYsNiArNDQ1LDEyIEBAIEhJREVfU0NP UEVfTkFNRVMgICAgICAgPSBOTworIAorIFNIT1dfSU5DTFVERV9GSUxFUyAgICAgPSBZRVMKKyAK KysjIElmIHRoZSBGT1JDRV9MT0NBTF9JTkNMVURFUyB0YWcgaXMgc2V0IHRvIFlFUyB0aGVuIERv eHlnZW4KKysjIHdpbGwgbGlzdCBpbmNsdWRlIGZpbGVzIHdpdGggZG91YmxlIHF1b3RlcyBpbiB0 aGUgZG9jdW1lbnRhdGlvbgorKyMgcmF0aGVyIHRoYW4gd2l0aCBzaGFycCBicmFja2V0cy4KKysK KytGT1JDRV9MT0NBTF9JTkNMVURFUyAgID0gTk8KKysKKyAjIElmIHRoZSBJTkxJTkVfSU5GTyB0 YWcgaXMgc2V0IHRvIFlFUyAodGhlIGRlZmF1bHQpIHRoZW4gYSB0YWcgW2lubGluZV0KKyAjIGlz IGluc2VydGVkIGluIHRoZSBkb2N1bWVudGF0aW9uIGZvciBpbmxpbmUgbWVtYmVycy4KKyAKK0BA IC00MDUsNyArNDcwLDEzIEBAIFNPUlRfTUVNQkVSX0RPQ1MgICAgICAgPSBZRVMKKyAKKyBTT1JU X0JSSUVGX0RPQ1MgICAgICAgID0gTk8KKyAKKy0jIElmIHRoZSBTT1JUX01FTUJFUlNfQ1RPUlNf MVNUIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiB3aWxsIHNvcnQgdGhlIChicmllZiBh bmQgZGV0YWlsZWQpIGRvY3VtZW50YXRpb24gb2YgY2xhc3MgbWVtYmVycyBzbyB0aGF0IGNvbnN0 cnVjdG9ycyBhbmQgZGVzdHJ1Y3RvcnMgYXJlIGxpc3RlZCBmaXJzdC4gSWYgc2V0IHRvIE5PICh0 aGUgZGVmYXVsdCkgdGhlIGNvbnN0cnVjdG9ycyB3aWxsIGFwcGVhciBpbiB0aGUgcmVzcGVjdGl2 ZSBvcmRlcnMgZGVmaW5lZCBieSBTT1JUX01FTUJFUl9ET0NTIGFuZCBTT1JUX0JSSUVGX0RPQ1Mu IFRoaXMgdGFnIHdpbGwgYmUgaWdub3JlZCBmb3IgYnJpZWYgZG9jcyBpZiBTT1JUX0JSSUVGX0RP Q1MgaXMgc2V0IHRvIE5PIGFuZCBpZ25vcmVkIGZvciBkZXRhaWxlZCBkb2NzIGlmIFNPUlRfTUVN QkVSX0RPQ1MgaXMgc2V0IHRvIE5PLgorKyMgSWYgdGhlIFNPUlRfTUVNQkVSU19DVE9SU18xU1Qg dGFnIGlzIHNldCB0byBZRVMgdGhlbiBkb3h5Z2VuCisrIyB3aWxsIHNvcnQgdGhlIChicmllZiBh bmQgZGV0YWlsZWQpIGRvY3VtZW50YXRpb24gb2YgY2xhc3MgbWVtYmVycyBzbyB0aGF0CisrIyBj b25zdHJ1Y3RvcnMgYW5kIGRlc3RydWN0b3JzIGFyZSBsaXN0ZWQgZmlyc3QuIElmIHNldCB0byBO TyAodGhlIGRlZmF1bHQpCisrIyB0aGUgY29uc3RydWN0b3JzIHdpbGwgYXBwZWFyIGluIHRoZSBy ZXNwZWN0aXZlIG9yZGVycyBkZWZpbmVkIGJ5CisrIyBTT1JUX01FTUJFUl9ET0NTIGFuZCBTT1JU X0JSSUVGX0RPQ1MuCisrIyBUaGlzIHRhZyB3aWxsIGJlIGlnbm9yZWQgZm9yIGJyaWVmIGRvY3Mg aWYgU09SVF9CUklFRl9ET0NTIGlzIHNldCB0byBOTworKyMgYW5kIGlnbm9yZWQgZm9yIGRldGFp bGVkIGRvY3MgaWYgU09SVF9NRU1CRVJfRE9DUyBpcyBzZXQgdG8gTk8uCisgCisgU09SVF9NRU1C RVJTX0NUT1JTXzFTVCA9IE5PCisgCitAQCAtNDI1LDYgKzQ5NiwxNSBAQCBTT1JUX0dST1VQX05B TUVTICAgICAgID0gTk8KKyAKKyBTT1JUX0JZX1NDT1BFX05BTUUgICAgID0gTk8KKyAKKysjIElm IHRoZSBTVFJJQ1RfUFJPVE9fTUFUQ0hJTkcgb3B0aW9uIGlzIGVuYWJsZWQgYW5kIGRveHlnZW4g ZmFpbHMgdG8KKysjIGRvIHByb3BlciB0eXBlIHJlc29sdXRpb24gb2YgYWxsIHBhcmFtZXRlcnMg b2YgYSBmdW5jdGlvbiBpdCB3aWxsIHJlamVjdCBhCisrIyBtYXRjaCBiZXR3ZWVuIHRoZSBwcm90 b3R5cGUgYW5kIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhIG1lbWJlciBmdW5jdGlvbiBldmVuCisr IyBpZiB0aGVyZSBpcyBvbmx5IG9uZSBjYW5kaWRhdGUgb3IgaXQgaXMgb2J2aW91cyB3aGljaCBj YW5kaWRhdGUgdG8gY2hvb3NlCisrIyBieSBkb2luZyBhIHNpbXBsZSBzdHJpbmcgbWF0Y2guIEJ5 IGRpc2FibGluZyBTVFJJQ1RfUFJPVE9fTUFUQ0hJTkcgZG94eWdlbgorKyMgd2lsbCBzdGlsbCBh Y2NlcHQgYSBtYXRjaCBiZXR3ZWVuIHByb3RvdHlwZSBhbmQgaW1wbGVtZW50YXRpb24gaW4gc3Vj aCBjYXNlcy4KKysKKytTVFJJQ1RfUFJPVE9fTUFUQ0hJTkcgID0gTk8KKysKKyAjIFRoZSBHRU5F UkFURV9UT0RPTElTVCB0YWcgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIChZRVMpIG9yCisgIyBkaXNh YmxlIChOTykgdGhlIHRvZG8gbGlzdC4gVGhpcyBsaXN0IGlzIGNyZWF0ZWQgYnkgcHV0dGluZyBc dG9kbworICMgY29tbWFuZHMgaW4gdGhlIGRvY3VtZW50YXRpb24uCitAQCAtNDUwLDE1ICs1MzAs MTYgQEAgR0VORVJBVEVfQlVHTElTVCAgICAgICA9IFlFUworIEdFTkVSQVRFX0RFUFJFQ0FURURM SVNUPSBZRVMKKyAKKyAjIFRoZSBFTkFCTEVEX1NFQ1RJT05TIHRhZyBjYW4gYmUgdXNlZCB0byBl bmFibGUgY29uZGl0aW9uYWwKKy0jIGRvY3VtZW50YXRpb24gc2VjdGlvbnMsIG1hcmtlZCBieSBc aWYgc2VjdGlvbm5hbWUgLi4uIFxlbmRpZi4KKysjIGRvY3VtZW50YXRpb24gc2VjdGlvbnMsIG1h cmtlZCBieSBcaWYgc2VjdGlvbi1sYWJlbCAuLi4gXGVuZGlmCisrIyBhbmQgXGNvbmQgc2VjdGlv bi1sYWJlbCAuLi4gXGVuZGNvbmQgYmxvY2tzLgorIAorIEVOQUJMRURfU0VDVElPTlMgICAgICAg PQorIAorICMgVGhlIE1BWF9JTklUSUFMSVpFUl9MSU5FUyB0YWcgZGV0ZXJtaW5lcyB0aGUgbWF4 aW11bSBudW1iZXIgb2YgbGluZXMKKy0jIHRoZSBpbml0aWFsIHZhbHVlIG9mIGEgdmFyaWFibGUg b3IgZGVmaW5lIGNvbnNpc3RzIG9mIGZvciBpdCB0byBhcHBlYXIgaW4KKysjIHRoZSBpbml0aWFs IHZhbHVlIG9mIGEgdmFyaWFibGUgb3IgbWFjcm8gY29uc2lzdHMgb2YgZm9yIGl0IHRvIGFwcGVh ciBpbgorICMgdGhlIGRvY3VtZW50YXRpb24uIElmIHRoZSBpbml0aWFsaXplciBjb25zaXN0cyBv ZiBtb3JlIGxpbmVzIHRoYW4gc3BlY2lmaWVkCisgIyBoZXJlIGl0IHdpbGwgYmUgaGlkZGVuLiBV c2UgYSB2YWx1ZSBvZiAwIHRvIGhpZGUgaW5pdGlhbGl6ZXJzIGNvbXBsZXRlbHkuCistIyBUaGUg YXBwZWFyYW5jZSBvZiB0aGUgaW5pdGlhbGl6ZXIgb2YgaW5kaXZpZHVhbCB2YXJpYWJsZXMgYW5k IGRlZmluZXMgaW4gdGhlCisrIyBUaGUgYXBwZWFyYW5jZSBvZiB0aGUgaW5pdGlhbGl6ZXIgb2Yg aW5kaXZpZHVhbCB2YXJpYWJsZXMgYW5kIG1hY3JvcyBpbiB0aGUKKyAjIGRvY3VtZW50YXRpb24g Y2FuIGJlIGNvbnRyb2xsZWQgdXNpbmcgXHNob3dpbml0aWFsaXplciBvciBcaGlkZWluaXRpYWxp emVyCisgIyBjb21tYW5kIGluIHRoZSBkb2N1bWVudGF0aW9uIHJlZ2FyZGxlc3Mgb2YgdGhpcyBz ZXR0aW5nLgorIAorQEAgLTQ3MCwxMiArNTUxLDYgQEAgTUFYX0lOSVRJQUxJWkVSX0xJTkVTICA9 IDMwCisgCisgU0hPV19VU0VEX0ZJTEVTICAgICAgICA9IFlFUworIAorLSMgSWYgdGhlIHNvdXJj ZXMgaW4geW91ciBwcm9qZWN0IGFyZSBkaXN0cmlidXRlZCBvdmVyIG11bHRpcGxlIGRpcmVjdG9y aWVzCistIyB0aGVuIHNldHRpbmcgdGhlIFNIT1dfRElSRUNUT1JJRVMgdGFnIHRvIFlFUyB3aWxs IHNob3cgdGhlIGRpcmVjdG9yeSBoaWVyYXJjaHkKKy0jIGluIHRoZSBkb2N1bWVudGF0aW9uLiBU aGUgZGVmYXVsdCBpcyBOTy4KKy0KKy1TSE9XX0RJUkVDVE9SSUVTICAgICAgID0gTk8KKy0KKyAj IFNldCB0aGUgU0hPV19GSUxFUyB0YWcgdG8gTk8gdG8gZGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBv ZiB0aGUgRmlsZXMgcGFnZS4KKyAjIFRoaXMgd2lsbCByZW1vdmUgdGhlIEZpbGVzIGVudHJ5IGZy b20gdGhlIFF1aWNrIEluZGV4IGFuZCBmcm9tIHRoZQorICMgRm9sZGVyIFRyZWUgVmlldyAoaWYg c3BlY2lmaWVkKS4gVGhlIGRlZmF1bHQgaXMgWUVTLgorQEAgLTQ5OSwxNSArNTc0LDI2IEBAIFNI T1dfTkFNRVNQQUNFUyAgICAgICAgPSBZRVMKKyAKKyBGSUxFX1ZFUlNJT05fRklMVEVSICAgID0K KyAKKy0jIFRoZSBMQVlPVVRfRklMRSB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIGxheW91 dCBmaWxlIHdoaWNoIHdpbGwgYmUgcGFyc2VkIGJ5CistIyBkb3h5Z2VuLiBUaGUgbGF5b3V0IGZp bGUgY29udHJvbHMgdGhlIGdsb2JhbCBzdHJ1Y3R1cmUgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQg ZmlsZXMKKy0jIGluIGFuIG91dHB1dCBmb3JtYXQgaW5kZXBlbmRlbnQgd2F5LiBUaGUgY3JlYXRl IHRoZSBsYXlvdXQgZmlsZSB0aGF0IHJlcHJlc2VudHMKKy0jIGRveHlnZW4ncyBkZWZhdWx0cywg cnVuIGRveHlnZW4gd2l0aCB0aGUgLWwgb3B0aW9uLiBZb3UgY2FuIG9wdGlvbmFsbHkgc3BlY2lm eSBhCistIyBmaWxlIG5hbWUgYWZ0ZXIgdGhlIG9wdGlvbiwgaWYgb21pdHRlZCBEb3h5Z2VuTGF5 b3V0LnhtbCB3aWxsIGJlIHVzZWQgYXMgdGhlIG5hbWUKKy0jIG9mIHRoZSBsYXlvdXQgZmlsZS4K KysjIFRoZSBMQVlPVVRfRklMRSB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIGxheW91dCBm aWxlIHdoaWNoIHdpbGwgYmUgcGFyc2VkCisrIyBieSBkb3h5Z2VuLiBUaGUgbGF5b3V0IGZpbGUg Y29udHJvbHMgdGhlIGdsb2JhbCBzdHJ1Y3R1cmUgb2YgdGhlIGdlbmVyYXRlZAorKyMgb3V0cHV0 IGZpbGVzIGluIGFuIG91dHB1dCBmb3JtYXQgaW5kZXBlbmRlbnQgd2F5LiBUbyBjcmVhdGUgdGhl IGxheW91dCBmaWxlCisrIyB0aGF0IHJlcHJlc2VudHMgZG94eWdlbidzIGRlZmF1bHRzLCBydW4g ZG94eWdlbiB3aXRoIHRoZSAtbCBvcHRpb24uCisrIyBZb3UgY2FuIG9wdGlvbmFsbHkgc3BlY2lm eSBhIGZpbGUgbmFtZSBhZnRlciB0aGUgb3B0aW9uLCBpZiBvbWl0dGVkCisrIyBEb3h5Z2VuTGF5 b3V0LnhtbCB3aWxsIGJlIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGxheW91dCBmaWxlLgorIAor IExBWU9VVF9GSUxFICAgICAgICAgICAgPQorIAorKyMgVGhlIENJVEVfQklCX0ZJTEVTIHRhZyBj YW4gYmUgdXNlZCB0byBzcGVjaWZ5IG9uZSBvciBtb3JlIGJpYiBmaWxlcworKyMgY29udGFpbmlu ZyB0aGUgcmVmZXJlbmNlcyBkYXRhLiBUaGlzIG11c3QgYmUgYSBsaXN0IG9mIC5iaWIgZmlsZXMu IFRoZQorKyMgLmJpYiBleHRlbnNpb24gaXMgYXV0b21hdGljYWxseSBhcHBlbmRlZCBpZiBvbWl0 dGVkLiBVc2luZyB0aGlzIGNvbW1hbmQKKysjIHJlcXVpcmVzIHRoZSBiaWJ0ZXggdG9vbCB0byBi ZSBpbnN0YWxsZWQuIFNlZSBhbHNvCisrIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Jp YlRlWCBmb3IgbW9yZSBpbmZvLiBGb3IgTGFUZVggdGhlIHN0eWxlCisrIyBvZiB0aGUgYmlibGlv Z3JhcGh5IGNhbiBiZSBjb250cm9sbGVkIHVzaW5nIExBVEVYX0JJQl9TVFlMRS4gVG8gdXNlIHRo aXMKKysjIGZlYXR1cmUgeW91IG5lZWQgYmlidGV4IGFuZCBwZXJsIGF2YWlsYWJsZSBpbiB0aGUg c2VhcmNoIHBhdGguIERvIG5vdCB1c2UKKysjIGZpbGUgbmFtZXMgd2l0aCBzcGFjZXMsIGJpYnRl eCBjYW5ub3QgaGFuZGxlIHRoZW0uCisrCisrQ0lURV9CSUJfRklMRVMgICAgICAgICA9CisrCisg Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorICMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8g d2FybmluZyBhbmQgcHJvZ3Jlc3MgbWVzc2FnZXMKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAt NTM2LDcgKzYyMiw3IEBAIFdBUk5fSUZfVU5ET0NVTUVOVEVEICAgPSBZRVMKKyAKKyBXQVJOX0lG X0RPQ19FUlJPUiAgICAgID0gWUVTCisgCistIyBUaGlzIFdBUk5fTk9fUEFSQU1ET0Mgb3B0aW9u IGNhbiBiZSBhYmxlZCB0byBnZXQgd2FybmluZ3MgZm9yCisrIyBUaGUgV0FSTl9OT19QQVJBTURP QyBvcHRpb24gY2FuIGJlIGVuYWJsZWQgdG8gZ2V0IHdhcm5pbmdzIGZvcgorICMgZnVuY3Rpb25z IHRoYXQgYXJlIGRvY3VtZW50ZWQsIGJ1dCBoYXZlIG5vIGRvY3VtZW50YXRpb24gZm9yIHRoZWly IHBhcmFtZXRlcnMKKyAjIG9yIHJldHVybiB2YWx1ZS4gSWYgc2V0IHRvIE5PICh0aGUgZGVmYXVs dCkgZG94eWdlbiB3aWxsIG9ubHkgd2FybiBhYm91dAorICMgd3Jvbmcgb3IgaW5jb21wbGV0ZSBw YXJhbWV0ZXIgZG9jdW1lbnRhdGlvbiwgYnV0IG5vdCBhYm91dCB0aGUgYWJzZW5jZSBvZgorQEAg LTU4Miw4ICs2NjgsOSBAQCBJTlBVVF9FTkNPRElORyAgICAgICAgID0gVVRGLTgKKyAjIEZJTEVf UEFUVEVSTlMgdGFnIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgd2lsZGNhcmQgcGF0dGVybiAobGlr ZSAqLmNwcAorICMgYW5kICouaCkgdG8gZmlsdGVyIG91dCB0aGUgc291cmNlLWZpbGVzIGluIHRo ZSBkaXJlY3Rvcmllcy4gSWYgbGVmdAorICMgYmxhbmsgdGhlIGZvbGxvd2luZyBwYXR0ZXJucyBh cmUgdGVzdGVkOgorLSMgKi5jICouY2MgKi5jeHggKi5jcHAgKi5jKysgKi5qYXZhICouaWkgKi5p eHggKi5pcHAgKi5pKysgKi5pbmwgKi5oICouaGggKi5oeHgKKy0jICouaHBwICouaCsrICouaWRs ICoub2RsICouY3MgKi5waHAgKi5waHAzICouaW5jICoubSAqLm1tICoucHkgKi5mOTAKKysjICou YyAqLmNjICouY3h4ICouY3BwICouYysrICouZCAqLmphdmEgKi5paSAqLml4eCAqLmlwcCAqLmkr KyAqLmlubCAqLmggKi5oaAorKyMgKi5oeHggKi5ocHAgKi5oKysgKi5pZGwgKi5vZGwgKi5jcyAq LnBocCAqLnBocDMgKi5pbmMgKi5tICoubW0gKi5kb3ggKi5weQorKyMgKi5mOTAgKi5mICouZm9y ICoudmhkICoudmhkbAorIAorIEZJTEVfUEFUVEVSTlMgICAgICAgICAgPSAqLmgKKyAKK0BAIC01 OTMsMTQgKzY4MCwxNiBAQCBGSUxFX1BBVFRFUk5TICAgICAgICAgID0gKi5oCisgCisgUkVDVVJT SVZFICAgICAgICAgICAgICA9IFlFUworIAorLSMgVGhlIEVYQ0xVREUgdGFnIGNhbiBiZSB1c2Vk IHRvIHNwZWNpZnkgZmlsZXMgYW5kL29yIGRpcmVjdG9yaWVzIHRoYXQgc2hvdWxkCisrIyBUaGUg RVhDTFVERSB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBmaWxlcyBhbmQvb3IgZGlyZWN0b3Jp ZXMgdGhhdCBzaG91bGQgYmUKKyAjIGV4Y2x1ZGVkIGZyb20gdGhlIElOUFVUIHNvdXJjZSBmaWxl cy4gVGhpcyB3YXkgeW91IGNhbiBlYXNpbHkgZXhjbHVkZSBhCisgIyBzdWJkaXJlY3RvcnkgZnJv bSBhIGRpcmVjdG9yeSB0cmVlIHdob3NlIHJvb3QgaXMgc3BlY2lmaWVkIHdpdGggdGhlIElOUFVU IHRhZy4KKysjIE5vdGUgdGhhdCByZWxhdGl2ZSBwYXRocyBhcmUgcmVsYXRpdmUgdG8gdGhlIGRp cmVjdG9yeSBmcm9tIHdoaWNoIGRveHlnZW4gaXMKKysjIHJ1bi4KKyAKKyBFWENMVURFICAgICAg ICAgICAgICAgID0KKyAKKy0jIFRoZSBFWENMVURFX1NZTUxJTktTIHRhZyBjYW4gYmUgdXNlZCBz ZWxlY3Qgd2hldGhlciBvciBub3QgZmlsZXMgb3IKKy0jIGRpcmVjdG9yaWVzIHRoYXQgYXJlIHN5 bWJvbGljIGxpbmtzIChhIFVuaXggZmlsZXN5c3RlbSBmZWF0dXJlKSBhcmUgZXhjbHVkZWQKKysj IFRoZSBFWENMVURFX1NZTUxJTktTIHRhZyBjYW4gYmUgdXNlZCB0byBzZWxlY3Qgd2hldGhlciBv ciBub3QgZmlsZXMgb3IKKysjIGRpcmVjdG9yaWVzIHRoYXQgYXJlIHN5bWJvbGljIGxpbmtzIChh IFVuaXggZmlsZSBzeXN0ZW0gZmVhdHVyZSkgYXJlIGV4Y2x1ZGVkCisgIyBmcm9tIHRoZSBpbnB1 dC4KKyAKKyBFWENMVURFX1NZTUxJTktTICAgICAgID0gTk8KK0BAIC02NTMsOCArNzQyLDEwIEBA IElNQUdFX1BBVEggICAgICAgICAgICAgPQorICMgaXMgdGhlIHZhbHVlIG9mIHRoZSBJTlBVVF9G SUxURVIgdGFnLCBhbmQgPGlucHV0LWZpbGU+IGlzIHRoZSBuYW1lIG9mIGFuCisgIyBpbnB1dCBm aWxlLiBEb3h5Z2VuIHdpbGwgdGhlbiB1c2UgdGhlIG91dHB1dCB0aGF0IHRoZSBmaWx0ZXIgcHJv Z3JhbSB3cml0ZXMKKyAjIHRvIHN0YW5kYXJkIG91dHB1dC4KKy0jIElmIEZJTFRFUl9QQVRURVJO UyBpcyBzcGVjaWZpZWQsIHRoaXMgdGFnIHdpbGwgYmUKKy0jIGlnbm9yZWQuCisrIyBJZiBGSUxU RVJfUEFUVEVSTlMgaXMgc3BlY2lmaWVkLCB0aGlzIHRhZyB3aWxsIGJlIGlnbm9yZWQuCisrIyBO b3RlIHRoYXQgdGhlIGZpbHRlciBtdXN0IG5vdCBhZGQgb3IgcmVtb3ZlIGxpbmVzOyBpdCBpcyBh cHBsaWVkIGJlZm9yZSB0aGUKKysjIGNvZGUgaXMgc2Nhbm5lZCwgYnV0IG5vdCB3aGVuIHRoZSBv dXRwdXQgY29kZSBpcyBnZW5lcmF0ZWQuIElmIGxpbmVzIGFyZSBhZGRlZAorKyMgb3IgcmVtb3Zl ZCwgdGhlIGFuY2hvcnMgd2lsbCBub3QgYmUgcGxhY2VkIGNvcnJlY3RseS4KKyAKKyBJTlBVVF9G SUxURVIgICAgICAgICAgID0KKyAKK0BAIC02NjQsOCArNzU1LDggQEAgSU5QVVRfRklMVEVSICAg ICAgICAgICA9CisgIyBmaWx0ZXIgaWYgdGhlcmUgaXMgYSBtYXRjaC4KKyAjIFRoZSBmaWx0ZXJz IGFyZSBhIGxpc3Qgb2YgdGhlIGZvcm06CisgIyBwYXR0ZXJuPWZpbHRlciAobGlrZSAqLmNwcD1t eV9jcHBfZmlsdGVyKS4gU2VlIElOUFVUX0ZJTFRFUiBmb3IgZnVydGhlcgorLSMgaW5mbyBvbiBo b3cgZmlsdGVycyBhcmUgdXNlZC4gSWYgRklMVEVSX1BBVFRFUk5TIGlzIGVtcHR5LCBJTlBVVF9G SUxURVIKKy0jIGlzIGFwcGxpZWQgdG8gYWxsIGZpbGVzLgorKyMgaW5mbyBvbiBob3cgZmlsdGVy cyBhcmUgdXNlZC4gSWYgRklMVEVSX1BBVFRFUk5TIGlzIGVtcHR5IG9yIGlmCisrIyBub24gb2Yg dGhlIHBhdHRlcm5zIG1hdGNoIHRoZSBmaWxlIG5hbWUsIElOUFVUX0ZJTFRFUiBpcyBhcHBsaWVk LgorIAorIEZJTFRFUl9QQVRURVJOUyAgICAgICAgPQorIAorQEAgLTY3NSw2ICs3NjYsMjEgQEAg RklMVEVSX1BBVFRFUk5TICAgICAgICA9CisgCisgRklMVEVSX1NPVVJDRV9GSUxFUyAgICA9IE5P CisgCisrIyBUaGUgRklMVEVSX1NPVVJDRV9QQVRURVJOUyB0YWcgY2FuIGJlIHVzZWQgdG8gc3Bl Y2lmeSBzb3VyY2UgZmlsdGVycyBwZXIgZmlsZQorKyMgcGF0dGVybi4gQSBwYXR0ZXJuIHdpbGwg b3ZlcnJpZGUgdGhlIHNldHRpbmcgZm9yIEZJTFRFUl9QQVRURVJOIChpZiBhbnkpCisrIyBhbmQg aXQgaXMgYWxzbyBwb3NzaWJsZSB0byBkaXNhYmxlIHNvdXJjZSBmaWx0ZXJpbmcgZm9yIGEgc3Bl Y2lmaWMgcGF0dGVybgorKyMgdXNpbmcgKi5leHQ9IChzbyB3aXRob3V0IG5hbWluZyBhIGZpbHRl cikuIFRoaXMgb3B0aW9uIG9ubHkgaGFzIGVmZmVjdCB3aGVuCisrIyBGSUxURVJfU09VUkNFX0ZJ TEVTIGlzIGVuYWJsZWQuCisrCisrRklMVEVSX1NPVVJDRV9QQVRURVJOUyA9CisrCisrIyBJZiB0 aGUgVVNFX01EX0ZJTEVfQVNfTUFJTlBBR0UgdGFnIHJlZmVycyB0byB0aGUgbmFtZSBvZiBhIG1h cmtkb3duIGZpbGUgdGhhdAorKyMgaXMgcGFydCBvZiB0aGUgaW5wdXQsIGl0cyBjb250ZW50cyB3 aWxsIGJlIHBsYWNlZCBvbiB0aGUgbWFpbiBwYWdlCisrIyAoaW5kZXguaHRtbCkuIFRoaXMgY2Fu IGJlIHVzZWZ1bCBpZiB5b3UgaGF2ZSBhIHByb2plY3Qgb24gZm9yIGluc3RhbmNlIEdpdEh1Ygor KyMgYW5kIHdhbnQgcmV1c2UgdGhlIGludHJvZHVjdGlvbiBwYWdlIGFsc28gZm9yIHRoZSBkb3h5 Z2VuIG91dHB1dC4KKysKKytVU0VfTURGSUxFX0FTX01BSU5QQUdFID0KKysKKyAjLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byBzb3VyY2UgYnJv d3NpbmcKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtNjkzLDcgKzc5OSw3IEBAIElOTElORV9T T1VSQ0VTICAgICAgICAgPSBOTworIAorICMgU2V0dGluZyB0aGUgU1RSSVBfQ09ERV9DT01NRU5U UyB0YWcgdG8gWUVTICh0aGUgZGVmYXVsdCkgd2lsbCBpbnN0cnVjdAorICMgZG94eWdlbiB0byBo aWRlIGFueSBzcGVjaWFsIGNvbW1lbnQgYmxvY2tzIGZyb20gZ2VuZXJhdGVkIHNvdXJjZSBjb2Rl CistIyBmcmFnbWVudHMuIE5vcm1hbCBDIGFuZCBDKysgY29tbWVudHMgd2lsbCBhbHdheXMgcmVt YWluIHZpc2libGUuCisrIyBmcmFnbWVudHMuIE5vcm1hbCBDLCBDKysgYW5kIEZvcnRyYW4gY29t bWVudHMgd2lsbCBhbHdheXMgcmVtYWluIHZpc2libGUuCisgCisgU1RSSVBfQ09ERV9DT01NRU5U UyAgICA9IFlFUworIAorQEAgLTc3Nyw3ICs4ODMsMTQgQEAgSFRNTF9GSUxFX0VYVEVOU0lPTiAg ICA9IC5odG1sCisgCisgIyBUaGUgSFRNTF9IRUFERVIgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNp ZnkgYSBwZXJzb25hbCBIVE1MIGhlYWRlciBmb3IKKyAjIGVhY2ggZ2VuZXJhdGVkIEhUTUwgcGFn ZS4gSWYgaXQgaXMgbGVmdCBibGFuayBkb3h5Z2VuIHdpbGwgZ2VuZXJhdGUgYQorLSMgc3RhbmRh cmQgaGVhZGVyLgorKyMgc3RhbmRhcmQgaGVhZGVyLiBOb3RlIHRoYXQgd2hlbiB1c2luZyBhIGN1 c3RvbSBoZWFkZXIgeW91IGFyZSByZXNwb25zaWJsZQorKyMgIGZvciB0aGUgcHJvcGVyIGluY2x1 c2lvbiBvZiBhbnkgc2NyaXB0cyBhbmQgc3R5bGUgc2hlZXRzIHRoYXQgZG94eWdlbgorKyMgbmVl ZHMsIHdoaWNoIGlzIGRlcGVuZGVudCBvbiB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHVzZWQu CisrIyBJdCBpcyBhZHZpc2VkIHRvIGdlbmVyYXRlIGEgZGVmYXVsdCBoZWFkZXIgdXNpbmcgImRv eHlnZW4gLXcgaHRtbAorKyMgaGVhZGVyLmh0bWwgZm9vdGVyLmh0bWwgc3R5bGVzaGVldC5jc3Mg WW91ckNvbmZpZ0ZpbGUiIGFuZCB0aGVuIG1vZGlmeQorKyMgdGhhdCBoZWFkZXIuIE5vdGUgdGhh dCB0aGUgaGVhZGVyIGlzIHN1YmplY3QgdG8gY2hhbmdlIHNvIHlvdSB0eXBpY2FsbHkKKysjIGhh dmUgdG8gcmVkbyB0aGlzIHdoZW4gdXBncmFkaW5nIHRvIGEgbmV3ZXIgdmVyc2lvbiBvZiBkb3h5 Z2VuIG9yIHdoZW4KKysjIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiBjb25maWd1cmF0aW9uIHNldHRp bmdzIHN1Y2ggYXMgR0VORVJBVEVfVFJFRVZJRVchCisgCisgSFRNTF9IRUFERVIgICAgICAgICAg ICA9CisgCitAQCAtNzg5LDI3ICs5MDIsODAgQEAgSFRNTF9GT09URVIgICAgICAgICAgICA9Cisg CisgIyBUaGUgSFRNTF9TVFlMRVNIRUVUIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgdXNl ci1kZWZpbmVkIGNhc2NhZGluZworICMgc3R5bGUgc2hlZXQgdGhhdCBpcyB1c2VkIGJ5IGVhY2gg SFRNTCBwYWdlLiBJdCBjYW4gYmUgdXNlZCB0bworLSMgZmluZS10dW5lIHRoZSBsb29rIG9mIHRo ZSBIVE1MIG91dHB1dC4gSWYgdGhlIHRhZyBpcyBsZWZ0IGJsYW5rIGRveHlnZW4KKy0jIHdpbGwg Z2VuZXJhdGUgYSBkZWZhdWx0IHN0eWxlIHNoZWV0LiBOb3RlIHRoYXQgZG94eWdlbiB3aWxsIHRy eSB0byBjb3B5CistIyB0aGUgc3R5bGUgc2hlZXQgZmlsZSB0byB0aGUgSFRNTCBvdXRwdXQgZGly ZWN0b3J5LCBzbyBkb24ndCBwdXQgeW91ciBvd24KKy0jIHN0eWxlc2hlZXQgaW4gdGhlIEhUTUwg b3V0cHV0IGRpcmVjdG9yeSBhcyB3ZWxsLCBvciBpdCB3aWxsIGJlIGVyYXNlZCEKKysjIGZpbmUt dHVuZSB0aGUgbG9vayBvZiB0aGUgSFRNTCBvdXRwdXQuIElmIGxlZnQgYmxhbmsgZG94eWdlbiB3 aWxsCisrIyBnZW5lcmF0ZSBhIGRlZmF1bHQgc3R5bGUgc2hlZXQuIE5vdGUgdGhhdCBpdCBpcyBy ZWNvbW1lbmRlZCB0byB1c2UKKysjIEhUTUxfRVhUUkFfU1RZTEVTSEVFVCBpbnN0ZWFkIG9mIHRo aXMgb25lLCBhcyBpdCBpcyBtb3JlIHJvYnVzdCBhbmQgdGhpcworKyMgdGFnIHdpbGwgaW4gdGhl IGZ1dHVyZSBiZWNvbWUgb2Jzb2xldGUuCisgCisgSFRNTF9TVFlMRVNIRUVUICAgICAgICA9Cisg CistIyBJZiB0aGUgSFRNTF9BTElHTl9NRU1CRVJTIHRhZyBpcyBzZXQgdG8gWUVTLCB0aGUgbWVt YmVycyBvZiBjbGFzc2VzLAorLSMgZmlsZXMgb3IgbmFtZXNwYWNlcyB3aWxsIGJlIGFsaWduZWQg aW4gSFRNTCB1c2luZyB0YWJsZXMuIElmIHNldCB0bworLSMgTk8gYSBidWxsZXQgbGlzdCB3aWxs IGJlIHVzZWQuCisrIyBUaGUgSFRNTF9FWFRSQV9TVFlMRVNIRUVUIHRhZyBjYW4gYmUgdXNlZCB0 byBzcGVjaWZ5IGFuIGFkZGl0aW9uYWwKKysjIHVzZXItZGVmaW5lZCBjYXNjYWRpbmcgc3R5bGUg c2hlZXQgdGhhdCBpcyBpbmNsdWRlZCBhZnRlciB0aGUgc3RhbmRhcmQKKysjIHN0eWxlIHNoZWV0 cyBjcmVhdGVkIGJ5IGRveHlnZW4uIFVzaW5nIHRoaXMgb3B0aW9uIG9uZSBjYW4gb3ZlcnJ1bGUK KysjIGNlcnRhaW4gc3R5bGUgYXNwZWN0cy4gVGhpcyBpcyBwcmVmZXJyZWQgb3ZlciB1c2luZyBI VE1MX1NUWUxFU0hFRVQKKysjIHNpbmNlIGl0IGRvZXMgbm90IHJlcGxhY2UgdGhlIHN0YW5kYXJk IHN0eWxlIHNoZWV0IGFuZCBpcyB0aGVyZWZvcmUgbW9yZQorKyMgcm9idXN0IGFnYWluc3QgZnV0 dXJlIHVwZGF0ZXMuIERveHlnZW4gd2lsbCBjb3B5IHRoZSBzdHlsZSBzaGVldCBmaWxlIHRvCisr IyB0aGUgb3V0cHV0IGRpcmVjdG9yeS4KKysKKytIVE1MX0VYVFJBX1NUWUxFU0hFRVQgID0KKysK KysjIFRoZSBIVE1MX0VYVFJBX0ZJTEVTIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IG9uZSBv ciBtb3JlIGV4dHJhIGltYWdlcyBvcgorKyMgb3RoZXIgc291cmNlIGZpbGVzIHdoaWNoIHNob3Vs ZCBiZSBjb3BpZWQgdG8gdGhlIEhUTUwgb3V0cHV0IGRpcmVjdG9yeS4gTm90ZQorKyMgdGhhdCB0 aGVzZSBmaWxlcyB3aWxsIGJlIGNvcGllZCB0byB0aGUgYmFzZSBIVE1MIG91dHB1dCBkaXJlY3Rv cnkuIFVzZSB0aGUKKysjICRyZWxwYXRoXiBtYXJrZXIgaW4gdGhlIEhUTUxfSEVBREVSIGFuZC9v ciBIVE1MX0ZPT1RFUiBmaWxlcyB0byBsb2FkIHRoZXNlCisrIyBmaWxlcy4gSW4gdGhlIEhUTUxf U1RZTEVTSEVFVCBmaWxlLCB1c2UgdGhlIGZpbGUgbmFtZSBvbmx5LiBBbHNvIG5vdGUgdGhhdAor KyMgdGhlIGZpbGVzIHdpbGwgYmUgY29waWVkIGFzLWlzOyB0aGVyZSBhcmUgbm8gY29tbWFuZHMg b3IgbWFya2VycyBhdmFpbGFibGUuCisrCisrSFRNTF9FWFRSQV9GSUxFUyAgICAgICA9CisrCisr IyBUaGUgSFRNTF9DT0xPUlNUWUxFX0hVRSB0YWcgY29udHJvbHMgdGhlIGNvbG9yIG9mIHRoZSBI VE1MIG91dHB1dC4KKysjIERveHlnZW4gd2lsbCBhZGp1c3QgdGhlIGNvbG9ycyBpbiB0aGUgc3R5 bGUgc2hlZXQgYW5kIGJhY2tncm91bmQgaW1hZ2VzCisrIyBhY2NvcmRpbmcgdG8gdGhpcyBjb2xv ci4gSHVlIGlzIHNwZWNpZmllZCBhcyBhbiBhbmdsZSBvbiBhIGNvbG9yd2hlZWwsCisrIyBzZWUg aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9IdWUgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisr IyBGb3IgaW5zdGFuY2UgdGhlIHZhbHVlIDAgcmVwcmVzZW50cyByZWQsIDYwIGlzIHllbGxvdywg MTIwIGlzIGdyZWVuLAorKyMgMTgwIGlzIGN5YW4sIDI0MCBpcyBibHVlLCAzMDAgcHVycGxlLCBh bmQgMzYwIGlzIHJlZCBhZ2Fpbi4KKysjIFRoZSBhbGxvd2VkIHJhbmdlIGlzIDAgdG8gMzU5Lgor KworK0hUTUxfQ09MT1JTVFlMRV9IVUUgICAgPSAyMjAKKysKKysjIFRoZSBIVE1MX0NPTE9SU1RZ TEVfU0FUIHRhZyBjb250cm9scyB0aGUgcHVyaXR5IChvciBzYXR1cmF0aW9uKSBvZgorKyMgdGhl IGNvbG9ycyBpbiB0aGUgSFRNTCBvdXRwdXQuIEZvciBhIHZhbHVlIG9mIDAgdGhlIG91dHB1dCB3 aWxsIHVzZQorKyMgZ3JheXNjYWxlcyBvbmx5LiBBIHZhbHVlIG9mIDI1NSB3aWxsIHByb2R1Y2Ug dGhlIG1vc3Qgdml2aWQgY29sb3JzLgorKworK0hUTUxfQ09MT1JTVFlMRV9TQVQgICAgPSAxMDAK KysKKysjIFRoZSBIVE1MX0NPTE9SU1RZTEVfR0FNTUEgdGFnIGNvbnRyb2xzIHRoZSBnYW1tYSBj b3JyZWN0aW9uIGFwcGxpZWQgdG8KKysjIHRoZSBsdW1pbmFuY2UgY29tcG9uZW50IG9mIHRoZSBj b2xvcnMgaW4gdGhlIEhUTUwgb3V0cHV0LiBWYWx1ZXMgYmVsb3cKKysjIDEwMCBncmFkdWFsbHkg bWFrZSB0aGUgb3V0cHV0IGxpZ2h0ZXIsIHdoZXJlYXMgdmFsdWVzIGFib3ZlIDEwMCBtYWtlCisr IyB0aGUgb3V0cHV0IGRhcmtlci4gVGhlIHZhbHVlIGRpdmlkZWQgYnkgMTAwIGlzIHRoZSBhY3R1 YWwgZ2FtbWEgYXBwbGllZCwKKysjIHNvIDgwIHJlcHJlc2VudHMgYSBnYW1tYSBvZiAwLjgsIFRo ZSB2YWx1ZSAyMjAgcmVwcmVzZW50cyBhIGdhbW1hIG9mIDIuMiwKKysjIGFuZCAxMDAgZG9lcyBu b3QgY2hhbmdlIHRoZSBnYW1tYS4KKysKKytIVE1MX0NPTE9SU1RZTEVfR0FNTUEgID0gODAKKysK KysjIElmIHRoZSBIVE1MX1RJTUVTVEFNUCB0YWcgaXMgc2V0IHRvIFlFUyB0aGVuIHRoZSBmb290 ZXIgb2YgZWFjaCBnZW5lcmF0ZWQgSFRNTAorKyMgcGFnZSB3aWxsIGNvbnRhaW4gdGhlIGRhdGUg YW5kIHRpbWUgd2hlbiB0aGUgcGFnZSB3YXMgZ2VuZXJhdGVkLiBTZXR0aW5nCisrIyB0aGlzIHRv IE5PIGNhbiBoZWxwIHdoZW4gY29tcGFyaW5nIHRoZSBvdXRwdXQgb2YgbXVsdGlwbGUgcnVucy4K KyAKKy1IVE1MX0FMSUdOX01FTUJFUlMgICAgID0gWUVTCisrSFRNTF9USU1FU1RBTVAgICAgICAg ICA9IE5PCisgCisgIyBJZiB0aGUgSFRNTF9EWU5BTUlDX1NFQ1RJT05TIHRhZyBpcyBzZXQgdG8g WUVTIHRoZW4gdGhlIGdlbmVyYXRlZCBIVE1MCisgIyBkb2N1bWVudGF0aW9uIHdpbGwgY29udGFp biBzZWN0aW9ucyB0aGF0IGNhbiBiZSBoaWRkZW4gYW5kIHNob3duIGFmdGVyIHRoZQorLSMgcGFn ZSBoYXMgbG9hZGVkLiBGb3IgdGhpcyB0byB3b3JrIGEgYnJvd3NlciB0aGF0IHN1cHBvcnRzCist IyBKYXZhU2NyaXB0IGFuZCBESFRNTCBpcyByZXF1aXJlZCAoZm9yIGluc3RhbmNlIE1vemlsbGEg MS4wKywgRmlyZWZveAorLSMgTmV0c2NhcGUgNi4wKywgSW50ZXJuZXQgZXhwbG9yZXIgNS4wKywg S29ucXVlcm9yLCBvciBTYWZhcmkpLgorKyMgcGFnZSBoYXMgbG9hZGVkLgorIAorIEhUTUxfRFlO QU1JQ19TRUNUSU9OUyAgPSBOTworIAorKyMgV2l0aCBIVE1MX0lOREVYX05VTV9FTlRSSUVTIG9u ZSBjYW4gY29udHJvbCB0aGUgcHJlZmVycmVkIG51bWJlciBvZgorKyMgZW50cmllcyBzaG93biBp biB0aGUgdmFyaW91cyB0cmVlIHN0cnVjdHVyZWQgaW5kaWNlcyBpbml0aWFsbHk7IHRoZSB1c2Vy CisrIyBjYW4gZXhwYW5kIGFuZCBjb2xsYXBzZSBlbnRyaWVzIGR5bmFtaWNhbGx5IGxhdGVyIG9u LiBEb3h5Z2VuIHdpbGwgZXhwYW5kCisrIyB0aGUgdHJlZSB0byBzdWNoIGEgbGV2ZWwgdGhhdCBh dCBtb3N0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGVudHJpZXMgYXJlCisrIyB2aXNpYmxlICh1 bmxlc3MgYSBmdWxseSBjb2xsYXBzZWQgdHJlZSBhbHJlYWR5IGV4Y2VlZHMgdGhpcyBhbW91bnQp LgorKyMgU28gc2V0dGluZyB0aGUgbnVtYmVyIG9mIGVudHJpZXMgMSB3aWxsIHByb2R1Y2UgYSBm dWxsIGNvbGxhcHNlZCB0cmVlIGJ5CisrIyBkZWZhdWx0LiAwIGlzIGEgc3BlY2lhbCB2YWx1ZSBy ZXByZXNlbnRpbmcgYW4gaW5maW5pdGUgbnVtYmVyIG9mIGVudHJpZXMKKysjIGFuZCB3aWxsIHJl c3VsdCBpbiBhIGZ1bGwgZXhwYW5kZWQgdHJlZSBieSBkZWZhdWx0LgorKworK0hUTUxfSU5ERVhf TlVNX0VOVFJJRVMgPSAxMDAKKysKKyAjIElmIHRoZSBHRU5FUkFURV9ET0NTRVQgdGFnIGlzIHNl dCB0byBZRVMsIGFkZGl0aW9uYWwgaW5kZXggZmlsZXMKKyAjIHdpbGwgYmUgZ2VuZXJhdGVkIHRo YXQgY2FuIGJlIHVzZWQgYXMgaW5wdXQgZm9yIEFwcGxlJ3MgWGNvZGUgMworICMgaW50ZWdyYXRl ZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgaW50cm9kdWNlZCB3aXRoIE9TWCAxMC41IChMZW9w YXJkKS4KK0BAIC04MTgsNyArOTg0LDggQEAgSFRNTF9EWU5BTUlDX1NFQ1RJT05TICA9IE5PCisg IyBkaXJlY3RvcnkgYW5kIHJ1bm5pbmcgIm1ha2UgaW5zdGFsbCIgd2lsbCBpbnN0YWxsIHRoZSBk b2NzZXQgaW4KKyAjIH4vTGlicmFyeS9EZXZlbG9wZXIvU2hhcmVkL0RvY3VtZW50YXRpb24vRG9j U2V0cyBzbyB0aGF0IFhjb2RlIHdpbGwgZmluZAorICMgaXQgYXQgc3RhcnR1cC4KKy0jIFNlZSBo dHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS90b29scy9jcmVhdGluZ2RvY3NldHN3aXRoZG94eWdl bi5odG1sIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyMgU2VlIGh0dHA6Ly9kZXZlbG9wZXIuYXBw bGUuY29tL3Rvb2xzL2NyZWF0aW5nZG9jc2V0c3dpdGhkb3h5Z2VuLmh0bWwKKysjIGZvciBtb3Jl IGluZm9ybWF0aW9uLgorIAorIEdFTkVSQVRFX0RPQ1NFVCAgICAgICAgPSBOTworIAorQEAgLTgz Niw2ICsxMDAzLDE2IEBAIERPQ1NFVF9GRUVETkFNRSAgICAgICAgPSAiRG94eWdlbiBnZW5lcmF0 ZWQgZG9jcyIKKyAKKyBET0NTRVRfQlVORExFX0lEICAgICAgID0gb3JnLmRveHlnZW4uUHJvamVj dAorIAorKyMgV2hlbiBHRU5FUkFURV9QVUJMSVNIRVJfSUQgdGFnIHNwZWNpZmllcyBhIHN0cmlu ZyB0aGF0IHNob3VsZCB1bmlxdWVseQorKyMgaWRlbnRpZnkgdGhlIGRvY3VtZW50YXRpb24gcHVi bGlzaGVyLiBUaGlzIHNob3VsZCBiZSBhIHJldmVyc2UgZG9tYWluLW5hbWUKKysjIHN0eWxlIHN0 cmluZywgZS5nLiBjb20ubXljb21wYW55Lk15RG9jU2V0LmRvY3VtZW50YXRpb24uCisrCisrRE9D U0VUX1BVQkxJU0hFUl9JRCAgICA9IG9yZy5kb3h5Z2VuLlB1Ymxpc2hlcgorKworKyMgVGhlIEdF TkVSQVRFX1BVQkxJU0hFUl9OQU1FIHRhZyBpZGVudGlmaWVzIHRoZSBkb2N1bWVudGF0aW9uIHB1 Ymxpc2hlci4KKysKKytET0NTRVRfUFVCTElTSEVSX05BTUUgID0gUHVibGlzaGVyCisrCisgIyBJ ZiB0aGUgR0VORVJBVEVfSFRNTEhFTFAgdGFnIGlzIHNldCB0byBZRVMsIGFkZGl0aW9uYWwgaW5k ZXggZmlsZXMKKyAjIHdpbGwgYmUgZ2VuZXJhdGVkIHRoYXQgY2FuIGJlIHVzZWQgYXMgaW5wdXQg Zm9yIHRvb2xzIGxpa2UgdGhlCisgIyBNaWNyb3NvZnQgSFRNTCBoZWxwIHdvcmtzaG9wIHRvIGdl bmVyYXRlIGEgY29tcGlsZWQgSFRNTCBoZWxwIGZpbGUgKC5jaG0pCitAQCAtODgwLDEwICsxMDU3 LDEwIEBAIEJJTkFSWV9UT0MgICAgICAgICAgICAgPSBOTworIAorIFRPQ19FWFBBTkQgICAgICAg ICAgICAgPSBOTworIAorLSMgSWYgdGhlIEdFTkVSQVRFX1FIUCB0YWcgaXMgc2V0IHRvIFlFUyBh bmQgYm90aCBRSFBfTkFNRVNQQUNFIGFuZCBRSFBfVklSVFVBTF9GT0xERVIKKy0jIGFyZSBzZXQs IGFuIGFkZGl0aW9uYWwgaW5kZXggZmlsZSB3aWxsIGJlIGdlbmVyYXRlZCB0aGF0IGNhbiBiZSB1 c2VkIGFzIGlucHV0IGZvcgorLSMgUXQncyBxaGVscGdlbmVyYXRvciB0byBnZW5lcmF0ZSBhIFF0 IENvbXByZXNzZWQgSGVscCAoLnFjaCkgb2YgdGhlIGdlbmVyYXRlZAorLSMgSFRNTCBkb2N1bWVu dGF0aW9uLgorKyMgSWYgdGhlIEdFTkVSQVRFX1FIUCB0YWcgaXMgc2V0IHRvIFlFUyBhbmQgYm90 aCBRSFBfTkFNRVNQQUNFIGFuZAorKyMgUUhQX1ZJUlRVQUxfRk9MREVSIGFyZSBzZXQsIGFuIGFk ZGl0aW9uYWwgaW5kZXggZmlsZSB3aWxsIGJlIGdlbmVyYXRlZAorKyMgdGhhdCBjYW4gYmUgdXNl ZCBhcyBpbnB1dCBmb3IgUXQncyBxaGVscGdlbmVyYXRvciB0byBnZW5lcmF0ZSBhCisrIyBRdCBD b21wcmVzc2VkIEhlbHAgKC5xY2gpIG9mIHRoZSBnZW5lcmF0ZWQgSFRNTCBkb2N1bWVudGF0aW9u LgorIAorIEdFTkVSQVRFX1FIUCAgICAgICAgICAgPSBOTworIAorQEAgLTkwNSwyMCArMTA4Miwy NCBAQCBRSFBfTkFNRVNQQUNFICAgICAgICAgID0KKyAKKyBRSFBfVklSVFVBTF9GT0xERVIgICAg ID0gZG9jCisgCistIyBJZiBRSFBfQ1VTVF9GSUxURVJfTkFNRSBpcyBzZXQsIGl0IHNwZWNpZmll cyB0aGUgbmFtZSBvZiBhIGN1c3RvbSBmaWx0ZXIgdG8gYWRkLgorLSMgRm9yIG1vcmUgaW5mb3Jt YXRpb24gcGxlYXNlIHNlZQorKyMgSWYgUUhQX0NVU1RfRklMVEVSX05BTUUgaXMgc2V0LCBpdCBz cGVjaWZpZXMgdGhlIG5hbWUgb2YgYSBjdXN0b20gZmlsdGVyIHRvCisrIyBhZGQuIEZvciBtb3Jl IGluZm9ybWF0aW9uIHBsZWFzZSBzZWUKKyAjIGh0dHA6Ly9kb2MudHJvbGx0ZWNoLmNvbS9xdGhl bHBwcm9qZWN0Lmh0bWwjY3VzdG9tLWZpbHRlcnMKKyAKKyBRSFBfQ1VTVF9GSUxURVJfTkFNRSAg ID0KKyAKKy0jIFRoZSBRSFBfQ1VTVF9GSUxUX0FUVFJTIHRhZyBzcGVjaWZpZXMgdGhlIGxpc3Qg b2YgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlIGN1c3RvbSBmaWx0ZXIgdG8gYWRkLkZvciBtb3JlIGlu Zm9ybWF0aW9uIHBsZWFzZSBzZWUKKy0jIDxhIGhyZWY9Imh0dHA6Ly9kb2MudHJvbGx0ZWNoLmNv bS9xdGhlbHBwcm9qZWN0Lmh0bWwjY3VzdG9tLWZpbHRlcnMiPlF0IEhlbHAgUHJvamVjdCAvIEN1 c3RvbSBGaWx0ZXJzPC9hPi4KKysjIFRoZSBRSFBfQ1VTVF9GSUxUX0FUVFJTIHRhZyBzcGVjaWZp ZXMgdGhlIGxpc3Qgb2YgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlCisrIyBjdXN0b20gZmlsdGVyIHRv IGFkZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gcGxlYXNlIHNlZQorKyMgPGEgaHJlZj0iaHR0cDov L2RvYy50cm9sbHRlY2guY29tL3F0aGVscHByb2plY3QuaHRtbCNjdXN0b20tZmlsdGVycyI+Cisr IyBRdCBIZWxwIFByb2plY3QgLyBDdXN0b20gRmlsdGVyczwvYT4uCisgCisgUUhQX0NVU1RfRklM VEVSX0FUVFJTICA9CisgCistIyBUaGUgUUhQX1NFQ1RfRklMVEVSX0FUVFJTIHRhZyBzcGVjaWZp ZXMgdGhlIGxpc3Qgb2YgdGhlIGF0dHJpYnV0ZXMgdGhpcyBwcm9qZWN0J3MKKysjIFRoZSBRSFBf U0VDVF9GSUxURVJfQVRUUlMgdGFnIHNwZWNpZmllcyB0aGUgbGlzdCBvZiB0aGUgYXR0cmlidXRl cyB0aGlzCisrIyBwcm9qZWN0J3MKKyAjIGZpbHRlciBzZWN0aW9uIG1hdGNoZXMuCistIyA8YSBo cmVmPSJodHRwOi8vZG9jLnRyb2xsdGVjaC5jb20vcXRoZWxwcHJvamVjdC5odG1sI2ZpbHRlci1h dHRyaWJ1dGVzIj5RdCBIZWxwIFByb2plY3QgLyBGaWx0ZXIgQXR0cmlidXRlczwvYT4uCisrIyA8 YSBocmVmPSJodHRwOi8vZG9jLnRyb2xsdGVjaC5jb20vcXRoZWxwcHJvamVjdC5odG1sI2ZpbHRl ci1hdHRyaWJ1dGVzIj4KKysjIFF0IEhlbHAgUHJvamVjdCAvIEZpbHRlciBBdHRyaWJ1dGVzPC9h Pi4KKyAKKyBRSFBfU0VDVF9GSUxURVJfQVRUUlMgID0KKyAKK0BAIC05MjksMTYgKzExMTAsMzAg QEAgUUhQX1NFQ1RfRklMVEVSX0FUVFJTICA9CisgCisgUUhHX0xPQ0FUSU9OICAgICAgICAgICA9 CisgCistIyBUaGUgRElTQUJMRV9JTkRFWCB0YWcgY2FuIGJlIHVzZWQgdG8gdHVybiBvbi9vZmYg dGhlIGNvbmRlbnNlZCBpbmRleCBhdAorLSMgdG9wIG9mIGVhY2ggSFRNTCBwYWdlLiBUaGUgdmFs dWUgTk8gKHRoZSBkZWZhdWx0KSBlbmFibGVzIHRoZSBpbmRleCBhbmQKKy0jIHRoZSB2YWx1ZSBZ RVMgZGlzYWJsZXMgaXQuCisrIyBJZiB0aGUgR0VORVJBVEVfRUNMSVBTRUhFTFAgdGFnIGlzIHNl dCB0byBZRVMsIGFkZGl0aW9uYWwgaW5kZXggZmlsZXMKKysjICB3aWxsIGJlIGdlbmVyYXRlZCwg d2hpY2ggdG9nZXRoZXIgd2l0aCB0aGUgSFRNTCBmaWxlcywgZm9ybSBhbiBFY2xpcHNlIGhlbHAK KysjIHBsdWdpbi4gVG8gaW5zdGFsbCB0aGlzIHBsdWdpbiBhbmQgbWFrZSBpdCBhdmFpbGFibGUg dW5kZXIgdGhlIGhlbHAgY29udGVudHMKKysjIG1lbnUgaW4gRWNsaXBzZSwgdGhlIGNvbnRlbnRz IG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgSFRNTCBhbmQgWE1MCisrIyBmaWxlcyBu ZWVkcyB0byBiZSBjb3BpZWQgaW50byB0aGUgcGx1Z2lucyBkaXJlY3Rvcnkgb2YgZWNsaXBzZS4g VGhlIG5hbWUgb2YKKysjIHRoZSBkaXJlY3Rvcnkgd2l0aGluIHRoZSBwbHVnaW5zIGRpcmVjdG9y eSBzaG91bGQgYmUgdGhlIHNhbWUgYXMKKysjIHRoZSBFQ0xJUFNFX0RPQ19JRCB2YWx1ZS4gQWZ0 ZXIgY29weWluZyBFY2xpcHNlIG5lZWRzIHRvIGJlIHJlc3RhcnRlZCBiZWZvcmUKKysjIHRoZSBo ZWxwIGFwcGVhcnMuCisgCistRElTQUJMRV9JTkRFWCAgICAgICAgICA9IE5PCisrR0VORVJBVEVf RUNMSVBTRUhFTFAgICA9IE5PCisgCistIyBUaGlzIHRhZyBjYW4gYmUgdXNlZCB0byBzZXQgdGhl IG51bWJlciBvZiBlbnVtIHZhbHVlcyAocmFuZ2UgWzEuLjIwXSkKKy0jIHRoYXQgZG94eWdlbiB3 aWxsIGdyb3VwIG9uIG9uZSBsaW5lIGluIHRoZSBnZW5lcmF0ZWQgSFRNTCBkb2N1bWVudGF0aW9u LgorKyMgQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGVjbGlwc2UgaGVscCBwbHVnaW4uIFdo ZW4gaW5zdGFsbGluZyB0aGUgcGx1Z2luCisrIyB0aGUgZGlyZWN0b3J5IG5hbWUgY29udGFpbmlu ZyB0aGUgSFRNTCBhbmQgWE1MIGZpbGVzIHNob3VsZCBhbHNvIGhhdmUKKysjIHRoaXMgbmFtZS4K KyAKKy1FTlVNX1ZBTFVFU19QRVJfTElORSAgID0gNAorK0VDTElQU0VfRE9DX0lEICAgICAgICAg PSBvcmcuZG94eWdlbi5Qcm9qZWN0CisrCisrIyBUaGUgRElTQUJMRV9JTkRFWCB0YWcgY2FuIGJl IHVzZWQgdG8gdHVybiBvbi9vZmYgdGhlIGNvbmRlbnNlZCBpbmRleCAodGFicykKKysjIGF0IHRv cCBvZiBlYWNoIEhUTUwgcGFnZS4gVGhlIHZhbHVlIE5PICh0aGUgZGVmYXVsdCkgZW5hYmxlcyB0 aGUgaW5kZXggYW5kCisrIyB0aGUgdmFsdWUgWUVTIGRpc2FibGVzIGl0LiBTaW5jZSB0aGUgdGFi cyBoYXZlIHRoZSBzYW1lIGluZm9ybWF0aW9uIGFzIHRoZQorKyMgbmF2aWdhdGlvbiB0cmVlIHlv dSBjYW4gc2V0IHRoaXMgb3B0aW9uIHRvIE5PIGlmIHlvdSBhbHJlYWR5IHNldAorKyMgR0VORVJB VEVfVFJFRVZJRVcgdG8gWUVTLgorKworK0RJU0FCTEVfSU5ERVggICAgICAgICAgPSBOTworIAor ICMgVGhlIEdFTkVSQVRFX1RSRUVWSUVXIHRhZyBpcyB1c2VkIHRvIHNwZWNpZnkgd2hldGhlciBh IHRyZWUtbGlrZSBpbmRleAorICMgc3RydWN0dXJlIHNob3VsZCBiZSBnZW5lcmF0ZWQgdG8gZGlz cGxheSBoaWVyYXJjaGljYWwgaW5mb3JtYXRpb24uCitAQCAtOTQ3LDEzICsxMTQyLDE3IEBAIEVO VU1fVkFMVUVTX1BFUl9MSU5FICAgPSA0CisgIyBpcyBnZW5lcmF0ZWQgZm9yIEhUTUwgSGVscCku IEZvciB0aGlzIHRvIHdvcmsgYSBicm93c2VyIHRoYXQgc3VwcG9ydHMKKyAjIEphdmFTY3JpcHQs IERIVE1MLCBDU1MgYW5kIGZyYW1lcyBpcyByZXF1aXJlZCAoaS5lLiBhbnkgbW9kZXJuIGJyb3dz ZXIpLgorICMgV2luZG93cyB1c2VycyBhcmUgcHJvYmFibHkgYmV0dGVyIG9mZiB1c2luZyB0aGUg SFRNTCBoZWxwIGZlYXR1cmUuCisrIyBTaW5jZSB0aGUgdHJlZSBiYXNpY2FsbHkgaGFzIHRoZSBz YW1lIGluZm9ybWF0aW9uIGFzIHRoZSB0YWIgaW5kZXggeW91CisrIyBjb3VsZCBjb25zaWRlciB0 byBzZXQgRElTQUJMRV9JTkRFWCB0byBOTyB3aGVuIGVuYWJsaW5nIHRoaXMgb3B0aW9uLgorIAor IEdFTkVSQVRFX1RSRUVWSUVXICAgICAgPSBOTworIAorLSMgQnkgZW5hYmxpbmcgVVNFX0lOTElO RV9UUkVFUywgZG94eWdlbiB3aWxsIGdlbmVyYXRlIHRoZSBHcm91cHMsIERpcmVjdG9yaWVzLAor LSMgYW5kIENsYXNzIEhpZXJhcmNoeSBwYWdlcyB1c2luZyBhIHRyZWUgdmlldyBpbnN0ZWFkIG9m IGFuIG9yZGVyZWQgbGlzdC4KKysjIFRoZSBFTlVNX1ZBTFVFU19QRVJfTElORSB0YWcgY2FuIGJl IHVzZWQgdG8gc2V0IHRoZSBudW1iZXIgb2YgZW51bSB2YWx1ZXMKKysjIChyYW5nZSBbMCwxLi4y MF0pIHRoYXQgZG94eWdlbiB3aWxsIGdyb3VwIG9uIG9uZSBsaW5lIGluIHRoZSBnZW5lcmF0ZWQg SFRNTAorKyMgZG9jdW1lbnRhdGlvbi4gTm90ZSB0aGF0IGEgdmFsdWUgb2YgMCB3aWxsIGNvbXBs ZXRlbHkgc3VwcHJlc3MgdGhlIGVudW0KKysjIHZhbHVlcyBmcm9tIGFwcGVhcmluZyBpbiB0aGUg b3ZlcnZpZXcgc2VjdGlvbi4KKyAKKy1VU0VfSU5MSU5FX1RSRUVTICAgICAgID0gTk8KKytFTlVN X1ZBTFVFU19QRVJfTElORSAgID0gNAorIAorICMgSWYgdGhlIHRyZWV2aWV3IGlzIGVuYWJsZWQg KHNlZSBHRU5FUkFURV9UUkVFVklFVykgdGhlbiB0aGlzIHRhZyBjYW4gYmUKKyAjIHVzZWQgdG8g c2V0IHRoZSBpbml0aWFsIHdpZHRoIChpbiBwaXhlbHMpIG9mIHRoZSBmcmFtZSBpbiB3aGljaCB0 aGUgdHJlZQorQEAgLTk2MSw2ICsxMTYwLDExIEBAIFVTRV9JTkxJTkVfVFJFRVMgICAgICAgPSBO TworIAorIFRSRUVWSUVXX1dJRFRIICAgICAgICAgPSAyNTAKKyAKKysjIFdoZW4gdGhlIEVYVF9M SU5LU19JTl9XSU5ET1cgb3B0aW9uIGlzIHNldCB0byBZRVMgZG94eWdlbiB3aWxsIG9wZW4KKysj IGxpbmtzIHRvIGV4dGVybmFsIHN5bWJvbHMgaW1wb3J0ZWQgdmlhIHRhZyBmaWxlcyBpbiBhIHNl cGFyYXRlIHdpbmRvdy4KKysKKytFWFRfTElOS1NfSU5fV0lORE9XICAgID0gTk8KKysKKyAjIFVz ZSB0aGlzIHRhZyB0byBjaGFuZ2UgdGhlIGZvbnQgc2l6ZSBvZiBMYXRleCBmb3JtdWxhcyBpbmNs dWRlZAorICMgYXMgaW1hZ2VzIGluIHRoZSBIVE1MIGRvY3VtZW50YXRpb24uIFRoZSBkZWZhdWx0 IGlzIDEwLiBOb3RlIHRoYXQKKyAjIHdoZW4geW91IGNoYW5nZSB0aGUgZm9udCBzaXplIGFmdGVy IGEgc3VjY2Vzc2Z1bCBkb3h5Z2VuIHJ1biB5b3UgbmVlZAorQEAgLTk2OSwxMyArMTE3MywxMTIg QEAgVFJFRVZJRVdfV0lEVEggICAgICAgICA9IDI1MAorIAorIEZPUk1VTEFfRk9OVFNJWkUgICAg ICAgPSAxMAorIAorLSMgV2hlbiB0aGUgU0VBUkNIRU5HSU5FIHRhZyBpcyBlbmFibGUgZG94eWdl biB3aWxsIGdlbmVyYXRlIGEgc2VhcmNoIGJveCBmb3IgdGhlIEhUTUwgb3V0cHV0LiBUaGUgdW5k ZXJseWluZyBzZWFyY2ggZW5naW5lIHVzZXMgamF2YXNjcmlwdAorLSMgYW5kIERIVE1MIGFuZCBz aG91bGQgd29yayBvbiBhbnkgbW9kZXJuIGJyb3dzZXIuIE5vdGUgdGhhdCB3aGVuIHVzaW5nIEhU TUwgaGVscCAoR0VORVJBVEVfSFRNTEhFTFApIG9yIFF0IGhlbHAgKEdFTkVSQVRFX1FIUCkKKy0j IHRoZXJlIGlzIGFscmVhZHkgYSBzZWFyY2ggZnVuY3Rpb24gc28gdGhpcyBvbmUgc2hvdWxkIHR5 cGljYWxseQorLSMgYmUgZGlzYWJsZWQuCisrIyBVc2UgdGhlIEZPUk1VTEFfVFJBTlBBUkVOVCB0 YWcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZSBpbWFnZXMKKysjIGdlbmVyYXRlZCBm b3IgZm9ybXVsYXMgYXJlIHRyYW5zcGFyZW50IFBOR3MuIFRyYW5zcGFyZW50IFBOR3MgYXJlCisr IyBub3Qgc3VwcG9ydGVkIHByb3Blcmx5IGZvciBJRSA2LjAsIGJ1dCBhcmUgc3VwcG9ydGVkIG9u IGFsbCBtb2Rlcm4gYnJvd3NlcnMuCisrIyBOb3RlIHRoYXQgd2hlbiBjaGFuZ2luZyB0aGlzIG9w dGlvbiB5b3UgbmVlZCB0byBkZWxldGUgYW55IGZvcm1fKi5wbmcgZmlsZXMKKysjIGluIHRoZSBI VE1MIG91dHB1dCBiZWZvcmUgdGhlIGNoYW5nZXMgaGF2ZSBlZmZlY3QuCisrCisrRk9STVVMQV9U UkFOU1BBUkVOVCAgICA9IFlFUworKworKyMgRW5hYmxlIHRoZSBVU0VfTUFUSEpBWCBvcHRpb24g dG8gcmVuZGVyIExhVGVYIGZvcm11bGFzIHVzaW5nIE1hdGhKYXgKKysjIChzZWUgaHR0cDovL3d3 dy5tYXRoamF4Lm9yZykgd2hpY2ggdXNlcyBjbGllbnQgc2lkZSBKYXZhc2NyaXB0IGZvciB0aGUK KysjIHJlbmRlcmluZyBpbnN0ZWFkIG9mIHVzaW5nIHByZXJlbmRlcmVkIGJpdG1hcHMuIFVzZSB0 aGlzIGlmIHlvdSBkbyBub3QKKysjIGhhdmUgTGFUZVggaW5zdGFsbGVkIG9yIGlmIHlvdSB3YW50 IHRvIGZvcm11bGFzIGxvb2sgcHJldHRpZXIgaW4gdGhlIEhUTUwKKysjIG91dHB1dC4gV2hlbiBl bmFibGVkIHlvdSBtYXkgYWxzbyBuZWVkIHRvIGluc3RhbGwgTWF0aEpheCBzZXBhcmF0ZWx5IGFu ZAorKyMgY29uZmlndXJlIHRoZSBwYXRoIHRvIGl0IHVzaW5nIHRoZSBNQVRISkFYX1JFTFBBVEgg b3B0aW9uLgorKworK1VTRV9NQVRISkFYICAgICAgICAgICAgPSBOTworKworKyMgV2hlbiBNYXRo SmF4IGlzIGVuYWJsZWQgeW91IGNhbiBzZXQgdGhlIGRlZmF1bHQgb3V0cHV0IGZvcm1hdCB0byBi ZSB1c2VkIGZvcgorKyMgdGhlIE1hdGhKYXggb3V0cHV0LiBTdXBwb3J0ZWQgdHlwZXMgYXJlIEhU TUwtQ1NTLCBOYXRpdmVNTUwgKGkuZS4gTWF0aE1MKSBhbmQKKysjIFNWRy4gVGhlIGRlZmF1bHQg dmFsdWUgaXMgSFRNTC1DU1MsIHdoaWNoIGlzIHNsb3dlciwgYnV0IGhhcyB0aGUgYmVzdAorKyMg Y29tcGF0aWJpbGl0eS4KKysKKytNQVRISkFYX0ZPUk1BVCAgICAgICAgID0gSFRNTC1DU1MKKysK KysjIFdoZW4gTWF0aEpheCBpcyBlbmFibGVkIHlvdSBuZWVkIHRvIHNwZWNpZnkgdGhlIGxvY2F0 aW9uIHJlbGF0aXZlIHRvIHRoZQorKyMgSFRNTCBvdXRwdXQgZGlyZWN0b3J5IHVzaW5nIHRoZSBN QVRISkFYX1JFTFBBVEggb3B0aW9uLiBUaGUgZGVzdGluYXRpb24KKysjIGRpcmVjdG9yeSBzaG91 bGQgY29udGFpbiB0aGUgTWF0aEpheC5qcyBzY3JpcHQuIEZvciBpbnN0YW5jZSwgaWYgdGhlIG1h dGhqYXgKKysjIGRpcmVjdG9yeSBpcyBsb2NhdGVkIGF0IHRoZSBzYW1lIGxldmVsIGFzIHRoZSBI VE1MIG91dHB1dCBkaXJlY3RvcnksIHRoZW4KKysjIE1BVEhKQVhfUkVMUEFUSCBzaG91bGQgYmUg Li4vbWF0aGpheC4gVGhlIGRlZmF1bHQgdmFsdWUgcG9pbnRzIHRvCisrIyB0aGUgTWF0aEpheCBD b250ZW50IERlbGl2ZXJ5IE5ldHdvcmsgc28geW91IGNhbiBxdWlja2x5IHNlZSB0aGUgcmVzdWx0 IHdpdGhvdXQKKysjIGluc3RhbGxpbmcgTWF0aEpheC4KKysjIEhvd2V2ZXIsIGl0IGlzIHN0cm9u Z2x5IHJlY29tbWVuZGVkIHRvIGluc3RhbGwgYSBsb2NhbAorKyMgY29weSBvZiBNYXRoSmF4IGZy b20gaHR0cDovL3d3dy5tYXRoamF4Lm9yZyBiZWZvcmUgZGVwbG95bWVudC4KKysKKytNQVRISkFY X1JFTFBBVEggICAgICAgID0gaHR0cDovL2Nkbi5tYXRoamF4Lm9yZy9tYXRoamF4L2xhdGVzdAor KworKyMgVGhlIE1BVEhKQVhfRVhURU5TSU9OUyB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBv bmUgb3IgTWF0aEpheCBleHRlbnNpb24KKysjIG5hbWVzIHRoYXQgc2hvdWxkIGJlIGVuYWJsZWQg ZHVyaW5nIE1hdGhKYXggcmVuZGVyaW5nLgorKworK01BVEhKQVhfRVhURU5TSU9OUyAgICAgPQor KworKyMgVGhlIE1BVEhKQVhfQ09ERUZJTEUgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBm aWxlIHdpdGggamF2YXNjcmlwdAorKyMgcGllY2VzIG9mIGNvZGUgdGhhdCB3aWxsIGJlIHVzZWQg b24gc3RhcnR1cCBvZiB0aGUgTWF0aEpheCBjb2RlLgorKworK01BVEhKQVhfQ09ERUZJTEUgICAg ICAgPQorKworKyMgV2hlbiB0aGUgU0VBUkNIRU5HSU5FIHRhZyBpcyBlbmFibGVkIGRveHlnZW4g d2lsbCBnZW5lcmF0ZSBhIHNlYXJjaCBib3gKKysjIGZvciB0aGUgSFRNTCBvdXRwdXQuIFRoZSB1 bmRlcmx5aW5nIHNlYXJjaCBlbmdpbmUgdXNlcyBqYXZhc2NyaXB0CisrIyBhbmQgREhUTUwgYW5k IHNob3VsZCB3b3JrIG9uIGFueSBtb2Rlcm4gYnJvd3Nlci4gTm90ZSB0aGF0IHdoZW4gdXNpbmcK KysjIEhUTUwgaGVscCAoR0VORVJBVEVfSFRNTEhFTFApLCBRdCBoZWxwIChHRU5FUkFURV9RSFAp LCBvciBkb2NzZXRzCisrIyAoR0VORVJBVEVfRE9DU0VUKSB0aGVyZSBpcyBhbHJlYWR5IGEgc2Vh cmNoIGZ1bmN0aW9uIHNvIHRoaXMgb25lIHNob3VsZAorKyMgdHlwaWNhbGx5IGJlIGRpc2FibGVk LiBGb3IgbGFyZ2UgcHJvamVjdHMgdGhlIGphdmFzY3JpcHQgYmFzZWQgc2VhcmNoIGVuZ2luZQor KyMgY2FuIGJlIHNsb3csIHRoZW4gZW5hYmxpbmcgU0VSVkVSX0JBU0VEX1NFQVJDSCBtYXkgcHJv dmlkZSBhIGJldHRlciBzb2x1dGlvbi4KKyAKKyBTRUFSQ0hFTkdJTkUgICAgICAgICAgID0gWUVT CisgCisrIyBXaGVuIHRoZSBTRVJWRVJfQkFTRURfU0VBUkNIIHRhZyBpcyBlbmFibGVkIHRoZSBz ZWFyY2ggZW5naW5lIHdpbGwgYmUKKysjIGltcGxlbWVudGVkIHVzaW5nIGEgd2ViIHNlcnZlciBp bnN0ZWFkIG9mIGEgd2ViIGNsaWVudCB1c2luZyBKYXZhc2NyaXB0LgorKyMgVGhlcmUgYXJlIHR3 byBmbGF2b3VycyBvZiB3ZWIgc2VydmVyIGJhc2VkIHNlYXJjaCBkZXBlbmRpbmcgb24gdGhlCisr IyBFWFRFUk5BTF9TRUFSQ0ggc2V0dGluZy4gV2hlbiBkaXNhYmxlZCwgZG94eWdlbiB3aWxsIGdl bmVyYXRlIGEgUEhQIHNjcmlwdCBmb3IKKysjIHNlYXJjaGluZyBhbmQgYW4gaW5kZXggZmlsZSB1 c2VkIGJ5IHRoZSBzY3JpcHQuIFdoZW4gRVhURVJOQUxfU0VBUkNIIGlzCisrIyBlbmFibGVkIHRo ZSBpbmRleGluZyBhbmQgc2VhcmNoaW5nIG5lZWRzIHRvIGJlIHByb3ZpZGVkIGJ5IGV4dGVybmFs IHRvb2xzLgorKyMgU2VlIHRoZSBtYW51YWwgZm9yIGRldGFpbHMuCisrCisrU0VSVkVSX0JBU0VE X1NFQVJDSCAgICA9IE5PCisrCisrIyBXaGVuIEVYVEVSTkFMX1NFQVJDSCBpcyBlbmFibGVkIGRv eHlnZW4gd2lsbCBubyBsb25nZXIgZ2VuZXJhdGUgdGhlIFBIUAorKyMgc2NyaXB0IGZvciBzZWFy Y2hpbmcuIEluc3RlYWQgdGhlIHNlYXJjaCByZXN1bHRzIGFyZSB3cml0dGVuIHRvIGFuIFhNTCBm aWxlCisrIyB3aGljaCBuZWVkcyB0byBiZSBwcm9jZXNzZWQgYnkgYW4gZXh0ZXJuYWwgaW5kZXhl ci4gRG94eWdlbiB3aWxsIGludm9rZSBhbgorKyMgZXh0ZXJuYWwgc2VhcmNoIGVuZ2luZSBwb2lu dGVkIHRvIGJ5IHRoZSBTRUFSQ0hFTkdJTkVfVVJMIG9wdGlvbiB0byBvYnRhaW4KKysjIHRoZSBz ZWFyY2ggcmVzdWx0cy4gRG94eWdlbiBzaGlwcyB3aXRoIGFuIGV4YW1wbGUgaW5kZXhlciAoZG94 eWluZGV4ZXIpIGFuZAorKyMgc2VhcmNoIGVuZ2luZSAoZG94eXNlYXJjaC5jZ2kpIHdoaWNoIGFy ZSBiYXNlZCBvbiB0aGUgb3BlbiBzb3VyY2Ugc2VhcmNoCisrIyBlbmdpbmUgbGlicmFyeSBYYXBp YW4uIFNlZSB0aGUgbWFudWFsIGZvciBjb25maWd1cmF0aW9uIGRldGFpbHMuCisrCisrRVhURVJO QUxfU0VBUkNIICAgICAgICA9IE5PCisrCisrIyBUaGUgU0VBUkNIRU5HSU5FX1VSTCBzaG91bGQg cG9pbnQgdG8gYSBzZWFyY2ggZW5naW5lIGhvc3RlZCBieSBhIHdlYiBzZXJ2ZXIKKysjIHdoaWNo IHdpbGwgcmV0dXJuZWQgdGhlIHNlYXJjaCByZXN1bHRzIHdoZW4gRVhURVJOQUxfU0VBUkNIIGlz IGVuYWJsZWQuCisrIyBEb3h5Z2VuIHNoaXBzIHdpdGggYW4gZXhhbXBsZSBzZWFyY2ggZW5naW5l IChkb3h5c2VhcmNoKSB3aGljaCBpcyBiYXNlZCBvbgorKyMgdGhlIG9wZW4gc291cmNlIHNlYXJj aCBlbmdpbmUgbGlicmFyeSBYYXBpYW4uIFNlZSB0aGUgbWFudWFsIGZvciBjb25maWd1cmF0aW9u CisrIyBkZXRhaWxzLgorKworK1NFQVJDSEVOR0lORV9VUkwgICAgICAgPQorKworKyMgV2hlbiBT RVJWRVJfQkFTRURfU0VBUkNIIGFuZCBFWFRFUk5BTF9TRUFSQ0ggYXJlIGJvdGggZW5hYmxlZCB0 aGUgdW5pbmRleGVkCisrIyBzZWFyY2ggZGF0YSBpcyB3cml0dGVuIHRvIGEgZmlsZSBmb3IgaW5k ZXhpbmcgYnkgYW4gZXh0ZXJuYWwgdG9vbC4gV2l0aCB0aGUKKysjIFNFQVJDSERBVEFfRklMRSB0 YWcgdGhlIG5hbWUgb2YgdGhpcyBmaWxlIGNhbiBiZSBzcGVjaWZpZWQuCisrCisrU0VBUkNIREFU QV9GSUxFICAgICAgICA9IHNlYXJjaGRhdGEueG1sCisrCisrIyBXaGVuIFNFUlZFUl9CQVNFRF9T RUFSQ0ggQU5EIEVYVEVSTkFMX1NFQVJDSCBhcmUgYm90aCBlbmFibGVkIHRoZQorKyMgRVhURVJO QUxfU0VBUkNIX0lEIHRhZyBjYW4gYmUgdXNlZCBhcyBhbiBpZGVudGlmaWVyIGZvciB0aGUgcHJv amVjdC4gVGhpcyBpcworKyMgdXNlZnVsIGluIGNvbWJpbmF0aW9uIHdpdGggRVhUUkFfU0VBUkNI X01BUFBJTkdTIHRvIHNlYXJjaCB0aHJvdWdoIG11bHRpcGxlCisrIyBwcm9qZWN0cyBhbmQgcmVk aXJlY3QgdGhlIHJlc3VsdHMgYmFjayB0byB0aGUgcmlnaHQgcHJvamVjdC4KKysKKytFWFRFUk5B TF9TRUFSQ0hfSUQgICAgID0KKysKKysjIFRoZSBFWFRSQV9TRUFSQ0hfTUFQUElOR1MgdGFnIGNh biBiZSB1c2VkIHRvIGVuYWJsZSBzZWFyY2hpbmcgdGhyb3VnaCBkb3h5Z2VuCisrIyBwcm9qZWN0 cyBvdGhlciB0aGFuIHRoZSBvbmUgZGVmaW5lZCBieSB0aGlzIGNvbmZpZ3VyYXRpb24gZmlsZSwg YnV0IHRoYXQgYXJlCisrIyBhbGwgYWRkZWQgdG8gdGhlIHNhbWUgZXh0ZXJuYWwgc2VhcmNoIGlu ZGV4LiBFYWNoIHByb2plY3QgbmVlZHMgdG8gaGF2ZSBhCisrIyB1bmlxdWUgaWQgc2V0IHZpYSBF WFRFUk5BTF9TRUFSQ0hfSUQuIFRoZSBzZWFyY2ggbWFwcGluZyB0aGVuIG1hcHMgdGhlIGlkCisr IyBvZiB0byBhIHJlbGF0aXZlIGxvY2F0aW9uIHdoZXJlIHRoZSBkb2N1bWVudGF0aW9uIGNhbiBi ZSBmb3VuZC4KKysjIFRoZSBmb3JtYXQgaXM6IEVYVFJBX1NFQVJDSF9NQVBQSU5HUyA9IGlkMT1s b2MxIGlkMj1sb2MyIC4uLgorKworK0VYVFJBX1NFQVJDSF9NQVBQSU5HUyAgPQorKworICMtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAjIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRoZSBM YVRlWCBvdXRwdXQKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtOTkzLDYgKzEyOTYsOSBAQCBM QVRFWF9PVVRQVVQgICAgICAgICAgID0gbGF0ZXgKKyAKKyAjIFRoZSBMQVRFWF9DTURfTkFNRSB0 YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgTGFUZVggY29tbWFuZCBuYW1lIHRvIGJlCisg IyBpbnZva2VkLiBJZiBsZWZ0IGJsYW5rIGBsYXRleCcgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZh dWx0IGNvbW1hbmQgbmFtZS4KKysjIE5vdGUgdGhhdCB3aGVuIGVuYWJsaW5nIFVTRV9QREZMQVRF WCB0aGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQgZm9yCisrIyBnZW5lcmF0aW5nIGJpdG1hcHMgZm9y IGZvcm11bGFzIGluIHRoZSBIVE1MIG91dHB1dCwgYnV0IG5vdCBpbiB0aGUKKysjIE1ha2VmaWxl IHRoYXQgaXMgd3JpdHRlbiB0byB0aGUgb3V0cHV0IGRpcmVjdG9yeS4KKyAKKyBMQVRFWF9DTURf TkFNRSAgICAgICAgID0gbGF0ZXgKKyAKK0BAIC0xMDA5LDggKzEzMTUsOCBAQCBNQUtFSU5ERVhf Q01EX05BTUUgICAgID0gbWFrZWluZGV4CisgQ09NUEFDVF9MQVRFWCAgICAgICAgICA9IE5PCisg CisgIyBUaGUgUEFQRVJfVFlQRSB0YWcgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBwYXBlciB0eXBl IHRoYXQgaXMgdXNlZAorLSMgYnkgdGhlIHByaW50ZXIuIFBvc3NpYmxlIHZhbHVlcyBhcmU6IGE0 LCBhNHdpZGUsIGxldHRlciwgbGVnYWwgYW5kCistIyBleGVjdXRpdmUuIElmIGxlZnQgYmxhbmsg YTR3aWRlIHdpbGwgYmUgdXNlZC4KKysjIGJ5IHRoZSBwcmludGVyLiBQb3NzaWJsZSB2YWx1ZXMg YXJlOiBhNCwgbGV0dGVyLCBsZWdhbCBhbmQKKysjIGV4ZWN1dGl2ZS4gSWYgbGVmdCBibGFuayBh NCB3aWxsIGJlIHVzZWQuCisgCisgUEFQRVJfVFlQRSAgICAgICAgICAgICA9IGE0d2lkZQorIAor QEAgLTEwMjYsNiArMTMzMiwyMCBAQCBFWFRSQV9QQUNLQUdFUyAgICAgICAgID0KKyAKKyBMQVRF WF9IRUFERVIgICAgICAgICAgID0KKyAKKysjIFRoZSBMQVRFWF9GT09URVIgdGFnIGNhbiBiZSB1 c2VkIHRvIHNwZWNpZnkgYSBwZXJzb25hbCBMYVRlWCBmb290ZXIgZm9yCisrIyB0aGUgZ2VuZXJh dGVkIGxhdGV4IGRvY3VtZW50LiBUaGUgZm9vdGVyIHNob3VsZCBjb250YWluIGV2ZXJ5dGhpbmcg YWZ0ZXIKKysjIHRoZSBsYXN0IGNoYXB0ZXIuIElmIGl0IGlzIGxlZnQgYmxhbmsgZG94eWdlbiB3 aWxsIGdlbmVyYXRlIGEKKysjIHN0YW5kYXJkIGZvb3Rlci4gTm90aWNlOiBvbmx5IHVzZSB0aGlz IHRhZyBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchCisrCisrTEFURVhfRk9PVEVSICAg ICAgICAgICA9CisrCisrIyBUaGUgTEFURVhfRVhUUkFfRklMRVMgdGFnIGNhbiBiZSB1c2VkIHRv IHNwZWNpZnkgb25lIG9yIG1vcmUgZXh0cmEgaW1hZ2VzCisrIyBvciBvdGhlciBzb3VyY2UgZmls ZXMgd2hpY2ggc2hvdWxkIGJlIGNvcGllZCB0byB0aGUgTGFUZVggb3V0cHV0IGRpcmVjdG9yeS4K KysjIE5vdGUgdGhhdCB0aGUgZmlsZXMgd2lsbCBiZSBjb3BpZWQgYXMtaXM7IHRoZXJlIGFyZSBu byBjb21tYW5kcyBvciBtYXJrZXJzCisrIyBhdmFpbGFibGUuCisrCisrTEFURVhfRVhUUkFfRklM RVMgICAgICA9CisrCisgIyBJZiB0aGUgUERGX0hZUEVSTElOS1MgdGFnIGlzIHNldCB0byBZRVMs IHRoZSBMYVRlWCB0aGF0IGlzIGdlbmVyYXRlZAorICMgaXMgcHJlcGFyZWQgZm9yIGNvbnZlcnNp b24gdG8gcGRmICh1c2luZyBwczJwZGYpLiBUaGUgcGRmIGZpbGUgd2lsbAorICMgY29udGFpbiBs aW5rcyAoanVzdCBsaWtlIHRoZSBIVE1MIG91dHB1dCkgaW5zdGVhZCBvZiBwYWdlIHJlZmVyZW5j ZXMKK0BAIC0xMDUyLDEwICsxMzcyLDE5IEBAIExBVEVYX0JBVENITU9ERSAgICAgICAgPSBOTwor IAorIExBVEVYX0hJREVfSU5ESUNFUyAgICAgPSBOTworIAorLSMgSWYgTEFURVhfU09VUkNFX0NP REUgaXMgc2V0IHRvIFlFUyB0aGVuIGRveHlnZW4gd2lsbCBpbmNsdWRlIHNvdXJjZSBjb2RlIHdp dGggc3ludGF4IGhpZ2hsaWdodGluZyBpbiB0aGUgTGFUZVggb3V0cHV0LiBOb3RlIHRoYXQgd2hp Y2ggc291cmNlcyBhcmUgc2hvd24gYWxzbyBkZXBlbmRzIG9uIG90aGVyIHNldHRpbmdzIHN1Y2gg YXMgU09VUkNFX0JST1dTRVIuCisrIyBJZiBMQVRFWF9TT1VSQ0VfQ09ERSBpcyBzZXQgdG8gWUVT IHRoZW4gZG94eWdlbiB3aWxsIGluY2x1ZGUKKysjIHNvdXJjZSBjb2RlIHdpdGggc3ludGF4IGhp Z2hsaWdodGluZyBpbiB0aGUgTGFUZVggb3V0cHV0LgorKyMgTm90ZSB0aGF0IHdoaWNoIHNvdXJj ZXMgYXJlIHNob3duIGFsc28gZGVwZW5kcyBvbiBvdGhlciBzZXR0aW5ncworKyMgc3VjaCBhcyBT T1VSQ0VfQlJPV1NFUi4KKyAKKyBMQVRFWF9TT1VSQ0VfQ09ERSAgICAgID0gTk8KKyAKKysjIFRo ZSBMQVRFWF9CSUJfU1RZTEUgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIHN0eWxlIHRv IHVzZSBmb3IgdGhlCisrIyBiaWJsaW9ncmFwaHksIGUuZy4gcGxhaW5uYXQsIG9yIGllZWV0ci4g VGhlIGRlZmF1bHQgc3R5bGUgaXMgInBsYWluIi4gU2VlCisrIyBodHRwOi8vZW4ud2lraXBlZGlh Lm9yZy93aWtpL0JpYlRlWCBmb3IgbW9yZSBpbmZvLgorKworK0xBVEVYX0JJQl9TVFlMRSAgICAg ICAgPSBwbGFpbgorKworICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIGNvbmZpZ3VyYXRpb24gb3B0 aW9ucyByZWxhdGVkIHRvIHRoZSBSVEYgb3V0cHV0CisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAg LTEwODcsNyArMTQxNiw3IEBAIENPTVBBQ1RfUlRGICAgICAgICAgICAgPSBOTworIAorIFJURl9I WVBFUkxJTktTICAgICAgICAgPSBOTworIAorLSMgTG9hZCBzdHlsZXNoZWV0IGRlZmluaXRpb25z IGZyb20gZmlsZS4gU3ludGF4IGlzIHNpbWlsYXIgdG8gZG94eWdlbidzCisrIyBMb2FkIHN0eWxl IHNoZWV0IGRlZmluaXRpb25zIGZyb20gZmlsZS4gU3ludGF4IGlzIHNpbWlsYXIgdG8gZG94eWdl bidzCisgIyBjb25maWcgZmlsZSwgaS5lLiBhIHNlcmllcyBvZiBhc3NpZ25tZW50cy4gWW91IG9u bHkgaGF2ZSB0byBwcm92aWRlCisgIyByZXBsYWNlbWVudHMsIG1pc3NpbmcgZGVmaW5pdGlvbnMg YXJlIHNldCB0byB0aGVpciBkZWZhdWx0IHZhbHVlLgorIAorQEAgLTExNDIsMTggKzE0NzEsNiBA QCBHRU5FUkFURV9YTUwgICAgICAgICAgID0gWUVTCisgCisgWE1MX09VVFBVVCAgICAgICAgICAg ICA9IHhtbAorIAorLSMgVGhlIFhNTF9TQ0hFTUEgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkg YW4gWE1MIHNjaGVtYSwKKy0jIHdoaWNoIGNhbiBiZSB1c2VkIGJ5IGEgdmFsaWRhdGluZyBYTUwg cGFyc2VyIHRvIGNoZWNrIHRoZQorLSMgc3ludGF4IG9mIHRoZSBYTUwgZmlsZXMuCistCistWE1M X1NDSEVNQSAgICAgICAgICAgICA9CistCistIyBUaGUgWE1MX0RURCB0YWcgY2FuIGJlIHVzZWQg dG8gc3BlY2lmeSBhbiBYTUwgRFRELAorLSMgd2hpY2ggY2FuIGJlIHVzZWQgYnkgYSB2YWxpZGF0 aW5nIFhNTCBwYXJzZXIgdG8gY2hlY2sgdGhlCistIyBzeW50YXggb2YgdGhlIFhNTCBmaWxlcy4K Ky0KKy1YTUxfRFREICAgICAgICAgICAgICAgID0KKy0KKyAjIElmIHRoZSBYTUxfUFJPR1JBTUxJ U1RJTkcgdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxsCisgIyBkdW1wIHRoZSBwcm9ncmFt IGxpc3RpbmdzIChpbmNsdWRpbmcgc3ludGF4IGhpZ2hsaWdodGluZworICMgYW5kIGNyb3NzLXJl ZmVyZW5jaW5nIGluZm9ybWF0aW9uKSB0byB0aGUgWE1MIG91dHB1dC4gTm90ZSB0aGF0CitAQCAt MTE2MSw2ICsxNDc4LDIxIEBAIFhNTF9EVEQgICAgICAgICAgICAgICAgPQorIAorIFhNTF9QUk9H UkFNTElTVElORyAgICAgPSBZRVMKKyAKKysjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBjb25maWd1 cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgRE9DQk9PSyBvdXRwdXQKKysjLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrCisrIyBJZiB0aGUgR0VORVJBVEVfRE9DQk9PSyB0YWcgaXMgc2V0IHRvIFlF UyBEb3h5Z2VuIHdpbGwgZ2VuZXJhdGUgRE9DQk9PSyBmaWxlcworKyMgdGhhdCBjYW4gYmUgdXNl ZCB0byBnZW5lcmF0ZSBQREYuCisrCisrR0VORVJBVEVfRE9DQk9PSyAgICAgICA9IE5PCisrCisr IyBUaGUgRE9DQk9PS19PVVRQVVQgdGFnIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGVyZSB0aGUgRE9D Qk9PSyBwYWdlcyB3aWxsIGJlIHB1dC4KKysjIElmIGEgcmVsYXRpdmUgcGF0aCBpcyBlbnRlcmVk IHRoZSB2YWx1ZSBvZiBPVVRQVVRfRElSRUNUT1JZIHdpbGwgYmUgcHV0IGluCisrIyBmcm9udCBv ZiBpdC4gSWYgbGVmdCBibGFuayBkb2Nib29rIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBw YXRoLgorKworK0RPQ0JPT0tfT1VUUFVUICAgICAgICAgPSBkb2Nib29rCisrCisgIy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorICMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQXV0b0dlbiBEZWZp bml0aW9ucyBvdXRwdXQKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMTIzMiw3ICsxNTY0LDcg QEAgTUFDUk9fRVhQQU5TSU9OICAgICAgICA9IFlFUworIEVYUEFORF9PTkxZX1BSRURFRiAgICAg PSBOTworIAorICMgSWYgdGhlIFNFQVJDSF9JTkNMVURFUyB0YWcgaXMgc2V0IHRvIFlFUyAodGhl IGRlZmF1bHQpIHRoZSBpbmNsdWRlcyBmaWxlcworLSMgaW4gdGhlIElOQ0xVREVfUEFUSCAoc2Vl IGJlbG93KSB3aWxsIGJlIHNlYXJjaCBpZiBhICNpbmNsdWRlIGlzIGZvdW5kLgorKyMgcG9pbnRl ZCB0byBieSBJTkNMVURFX1BBVEggd2lsbCBiZSBzZWFyY2hlZCB3aGVuIGEgI2luY2x1ZGUgaXMg Zm91bmQuCisgCisgU0VBUkNIX0lOQ0xVREVTICAgICAgICA9IFlFUworIAorQEAgLTEyNjIsMTUg KzE1OTQsMTUgQEAgUFJFREVGSU5FRCAgICAgICAgICAgICA9CisgIyBJZiB0aGUgTUFDUk9fRVhQ QU5TSU9OIGFuZCBFWFBBTkRfT05MWV9QUkVERUYgdGFncyBhcmUgc2V0IHRvIFlFUyB0aGVuCisg IyB0aGlzIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgbGlzdCBvZiBtYWNybyBuYW1lcyB0 aGF0IHNob3VsZCBiZSBleHBhbmRlZC4KKyAjIFRoZSBtYWNybyBkZWZpbml0aW9uIHRoYXQgaXMg Zm91bmQgaW4gdGhlIHNvdXJjZXMgd2lsbCBiZSB1c2VkLgorLSMgVXNlIHRoZSBQUkVERUZJTkVE IHRhZyBpZiB5b3Ugd2FudCB0byB1c2UgYSBkaWZmZXJlbnQgbWFjcm8gZGVmaW5pdGlvbi4KKysj IFVzZSB0aGUgUFJFREVGSU5FRCB0YWcgaWYgeW91IHdhbnQgdG8gdXNlIGEgZGlmZmVyZW50IG1h Y3JvIGRlZmluaXRpb24gdGhhdAorKyMgb3ZlcnJ1bGVzIHRoZSBkZWZpbml0aW9uIGZvdW5kIGlu IHRoZSBzb3VyY2UgY29kZS4KKyAKKyBFWFBBTkRfQVNfREVGSU5FRCAgICAgID0KKyAKKyAjIElm IHRoZSBTS0lQX0ZVTkNUSU9OX01BQ1JPUyB0YWcgaXMgc2V0IHRvIFlFUyAodGhlIGRlZmF1bHQp IHRoZW4KKy0jIGRveHlnZW4ncyBwcmVwcm9jZXNzb3Igd2lsbCByZW1vdmUgYWxsIGZ1bmN0aW9u LWxpa2UgbWFjcm9zIHRoYXQgYXJlIGFsb25lCistIyBvbiBhIGxpbmUsIGhhdmUgYW4gYWxsIHVw cGVyY2FzZSBuYW1lLCBhbmQgZG8gbm90IGVuZCB3aXRoIGEgc2VtaWNvbG9uLiBTdWNoCistIyBm dW5jdGlvbiBtYWNyb3MgYXJlIHR5cGljYWxseSB1c2VkIGZvciBib2lsZXItcGxhdGUgY29kZSwg YW5kIHdpbGwgY29uZnVzZQorLSMgdGhlIHBhcnNlciBpZiBub3QgcmVtb3ZlZC4KKysjIGRveHln ZW4ncyBwcmVwcm9jZXNzb3Igd2lsbCByZW1vdmUgYWxsIHJlZmVyZW5jZXMgdG8gZnVuY3Rpb24t bGlrZSBtYWNyb3MKKysjIHRoYXQgYXJlIGFsb25lIG9uIGEgbGluZSwgaGF2ZSBhbiBhbGwgdXBw ZXJjYXNlIG5hbWUsIGFuZCBkbyBub3QgZW5kIHdpdGggYQorKyMgc2VtaWNvbG9uLCBiZWNhdXNl IHRoZXNlIHdpbGwgY29uZnVzZSB0aGUgcGFyc2VyIGlmIG5vdCByZW1vdmVkLgorIAorIFNLSVBf RlVOQ1RJT05fTUFDUk9TICAgPSBZRVMKKyAKK0BAIC0xMjc4LDIyICsxNjEwLDE4IEBAIFNLSVBf RlVOQ1RJT05fTUFDUk9TICAgPSBZRVMKKyAjIENvbmZpZ3VyYXRpb246OmFkZGl0aW9ucyByZWxh dGVkIHRvIGV4dGVybmFsIHJlZmVyZW5jZXMKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCistIyBU aGUgVEFHRklMRVMgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgdGFn ZmlsZXMuCistIyBPcHRpb25hbGx5IGFuIGluaXRpYWwgbG9jYXRpb24gb2YgdGhlIGV4dGVybmFs IGRvY3VtZW50YXRpb24KKy0jIGNhbiBiZSBhZGRlZCBmb3IgZWFjaCB0YWdmaWxlLiBUaGUgZm9y bWF0IG9mIGEgdGFnIGZpbGUgd2l0aG91dAorLSMgdGhpcyBsb2NhdGlvbiBpcyBhcyBmb2xsb3dz OgorKyMgVGhlIFRBR0ZJTEVTIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IG9uZSBvciBt b3JlIHRhZ2ZpbGVzLiBGb3IgZWFjaAorKyMgdGFnIGZpbGUgdGhlIGxvY2F0aW9uIG9mIHRoZSBl eHRlcm5hbCBkb2N1bWVudGF0aW9uIHNob3VsZCBiZSBhZGRlZC4gVGhlCisrIyBmb3JtYXQgb2Yg YSB0YWcgZmlsZSB3aXRob3V0IHRoaXMgbG9jYXRpb24gaXMgYXMgZm9sbG93czoKKyAjCisgIyBU QUdGSUxFUyA9IGZpbGUxIGZpbGUyIC4uLgorICMgQWRkaW5nIGxvY2F0aW9uIGZvciB0aGUgdGFn IGZpbGVzIGlzIGRvbmUgYXMgZm9sbG93czoKKyAjCisgIyBUQUdGSUxFUyA9IGZpbGUxPWxvYzEg ImZpbGUyID0gbG9jMiIgLi4uCistIyB3aGVyZSAibG9jMSIgYW5kICJsb2MyIiBjYW4gYmUgcmVs YXRpdmUgb3IgYWJzb2x1dGUgcGF0aHMgb3IKKy0jIFVSTHMuIElmIGEgbG9jYXRpb24gaXMgcHJl c2VudCBmb3IgZWFjaCB0YWcsIHRoZSBpbnN0YWxsZG94IHRvb2wKKy0jIGRvZXMgbm90IGhhdmUg dG8gYmUgcnVuIHRvIGNvcnJlY3QgdGhlIGxpbmtzLgorLSMgTm90ZSB0aGF0IGVhY2ggdGFnIGZp bGUgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUKKy0jICh3aGVyZSB0aGUgbmFtZSBkb2VzIE5PVCBp bmNsdWRlIHRoZSBwYXRoKQorLSMgSWYgYSB0YWcgZmlsZSBpcyBub3QgbG9jYXRlZCBpbiB0aGUg ZGlyZWN0b3J5IGluIHdoaWNoIGRveHlnZW4KKy0jIGlzIHJ1biwgeW91IG11c3QgYWxzbyBzcGVj aWZ5IHRoZSBwYXRoIHRvIHRoZSB0YWdmaWxlIGhlcmUuCisrIyB3aGVyZSAibG9jMSIgYW5kICJs b2MyIiBjYW4gYmUgcmVsYXRpdmUgb3IgYWJzb2x1dGUgcGF0aHMKKysjIG9yIFVSTHMuIE5vdGUg dGhhdCBlYWNoIHRhZyBmaWxlIG11c3QgaGF2ZSBhIHVuaXF1ZSBuYW1lICh3aGVyZSB0aGUgbmFt ZSBkb2VzCisrIyBOT1QgaW5jbHVkZSB0aGUgcGF0aCkuIElmIGEgdGFnIGZpbGUgaXMgbm90IGxv Y2F0ZWQgaW4gdGhlIGRpcmVjdG9yeSBpbiB3aGljaAorKyMgZG94eWdlbiBpcyBydW4sIHlvdSBt dXN0IGFsc28gc3BlY2lmeSB0aGUgcGF0aCB0byB0aGUgdGFnZmlsZSBoZXJlLgorIAorIFRBR0ZJ TEVTICAgICAgICAgICAgICAgPQorIAorQEAgLTEzMTQsNiArMTY0MiwxMiBAQCBBTExFWFRFUk5B TFMgICAgICAgICAgID0gTk8KKyAKKyBFWFRFUk5BTF9HUk9VUFMgICAgICAgID0gWUVTCisgCisr IyBJZiB0aGUgRVhURVJOQUxfUEFHRVMgdGFnIGlzIHNldCB0byBZRVMgYWxsIGV4dGVybmFsIHBh Z2VzIHdpbGwgYmUgbGlzdGVkCisrIyBpbiB0aGUgcmVsYXRlZCBwYWdlcyBpbmRleC4gSWYgc2V0 IHRvIE5PLCBvbmx5IHRoZSBjdXJyZW50IHByb2plY3QncworKyMgcGFnZXMgd2lsbCBiZSBsaXN0 ZWQuCisrCisrRVhURVJOQUxfUEFHRVMgICAgICAgICA9IFlFUworKworICMgVGhlIFBFUkxfUEFU SCBzaG91bGQgYmUgdGhlIGFic29sdXRlIHBhdGggYW5kIG5hbWUgb2YgdGhlIHBlcmwgc2NyaXB0 CisgIyBpbnRlcnByZXRlciAoaS5lLiB0aGUgcmVzdWx0IG9mIGB3aGljaCBwZXJsJykuCisgCitA QCAtMTMyNiw5ICsxNjYwLDggQEAgUEVSTF9QQVRIICAgICAgICAgICAgICA9IC91c3IvYmluL3Bl cmwKKyAjIElmIHRoZSBDTEFTU19ESUFHUkFNUyB0YWcgaXMgc2V0IHRvIFlFUyAodGhlIGRlZmF1 bHQpIERveHlnZW4gd2lsbAorICMgZ2VuZXJhdGUgYSBpbmhlcml0YW5jZSBkaWFncmFtIChpbiBI VE1MLCBSVEYgYW5kIExhVGVYKSBmb3IgY2xhc3NlcyB3aXRoIGJhc2UKKyAjIG9yIHN1cGVyIGNs YXNzZXMuIFNldHRpbmcgdGhlIHRhZyB0byBOTyB0dXJucyB0aGUgZGlhZ3JhbXMgb2ZmLiBOb3Rl IHRoYXQKKy0jIHRoaXMgb3B0aW9uIGlzIHN1cGVyc2VkZWQgYnkgdGhlIEhBVkVfRE9UIG9wdGlv biBiZWxvdy4gVGhpcyBpcyBvbmx5IGEKKy0jIGZhbGxiYWNrLiBJdCBpcyByZWNvbW1lbmRlZCB0 byBpbnN0YWxsIGFuZCB1c2UgZG90LCBzaW5jZSBpdCB5aWVsZHMgbW9yZQorLSMgcG93ZXJmdWwg Z3JhcGhzLgorKyMgdGhpcyBvcHRpb24gYWxzbyB3b3JrcyB3aXRoIEhBVkVfRE9UIGRpc2FibGVk LCBidXQgaXQgaXMgcmVjb21tZW5kZWQgdG8KKysjIGluc3RhbGwgYW5kIHVzZSBkb3QsIHNpbmNl IGl0IHlpZWxkcyBtb3JlIHBvd2VyZnVsIGdyYXBocy4KKyAKKyBDTEFTU19ESUFHUkFNUyAgICAg ICAgID0gWUVTCisgCitAQCAtMTM1NCwzMyArMTY4NywzOCBAQCBISURFX1VORE9DX1JFTEFUSU9O UyAgID0gWUVTCisgCisgSEFWRV9ET1QgICAgICAgICAgICAgICA9IE5PCisgCistIyBCeSBkZWZh dWx0IGRveHlnZW4gd2lsbCB3cml0ZSBhIGZvbnQgY2FsbGVkIEZyZWVTYW5zLnR0ZiB0byB0aGUg b3V0cHV0CistIyBkaXJlY3RvcnkgYW5kIHJlZmVyZW5jZSBpdCBpbiBhbGwgZG90IGZpbGVzIHRo YXQgZG94eWdlbiBnZW5lcmF0ZXMuIFRoaXMKKy0jIGZvbnQgZG9lcyBub3QgaW5jbHVkZSBhbGwg cG9zc2libGUgdW5pY29kZSBjaGFyYWN0ZXJzIGhvd2V2ZXIsIHNvIHdoZW4geW91IG5lZWQKKy0j IHRoZXNlIChvciBqdXN0IHdhbnQgYSBkaWZmZXJlbnRseSBsb29raW5nIGZvbnQpIHlvdSBjYW4g c3BlY2lmeSB0aGUgZm9udCBuYW1lCistIyB1c2luZyBET1RfRk9OVE5BTUUuIFlvdSBuZWVkIG5l ZWQgdG8gbWFrZSBzdXJlIGRvdCBpcyBhYmxlIHRvIGZpbmQgdGhlIGZvbnQsCistIyB3aGljaCBj YW4gYmUgZG9uZSBieSBwdXR0aW5nIGl0IGluIGEgc3RhbmRhcmQgbG9jYXRpb24gb3IgYnkgc2V0 dGluZyB0aGUKKy0jIERPVEZPTlRQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIGJ5IHNldHRp bmcgRE9UX0ZPTlRQQVRIIHRvIHRoZSBkaXJlY3RvcnkKKy0jIGNvbnRhaW5pbmcgdGhlIGZvbnQu CisrIyBUaGUgRE9UX05VTV9USFJFQURTIHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGRvdCBpbnZv Y2F0aW9ucyBkb3h5Z2VuIGlzCisrIyBhbGxvd2VkIHRvIHJ1biBpbiBwYXJhbGxlbC4gV2hlbiBz ZXQgdG8gMCAodGhlIGRlZmF1bHQpIGRveHlnZW4gd2lsbAorKyMgYmFzZSB0aGlzIG9uIHRoZSBu dW1iZXIgb2YgcHJvY2Vzc29ycyBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbS4gWW91IGNhbiBzZXQg aXQKKysjIGV4cGxpY2l0bHkgdG8gYSB2YWx1ZSBsYXJnZXIgdGhhbiAwIHRvIGdldCBjb250cm9s IG92ZXIgdGhlIGJhbGFuY2UKKysjIGJldHdlZW4gQ1BVIGxvYWQgYW5kIHByb2Nlc3Npbmcgc3Bl ZWQuCisrCisrRE9UX05VTV9USFJFQURTICAgICAgICA9IDAKKysKKysjIEJ5IGRlZmF1bHQgZG94 eWdlbiB3aWxsIHVzZSB0aGUgSGVsdmV0aWNhIGZvbnQgZm9yIGFsbCBkb3QgZmlsZXMgdGhhdAor KyMgZG94eWdlbiBnZW5lcmF0ZXMuIFdoZW4geW91IHdhbnQgYSBkaWZmZXJlbnRseSBsb29raW5n IGZvbnQgeW91IGNhbiBzcGVjaWZ5CisrIyB0aGUgZm9udCBuYW1lIHVzaW5nIERPVF9GT05UTkFN RS4gWW91IG5lZWQgdG8gbWFrZSBzdXJlIGRvdCBpcyBhYmxlIHRvIGZpbmQKKysjIHRoZSBmb250 LCB3aGljaCBjYW4gYmUgZG9uZSBieSBwdXR0aW5nIGl0IGluIGEgc3RhbmRhcmQgbG9jYXRpb24g b3IgYnkgc2V0dGluZworKyMgdGhlIERPVEZPTlRQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIG9y IGJ5IHNldHRpbmcgRE9UX0ZPTlRQQVRIIHRvIHRoZQorKyMgZGlyZWN0b3J5IGNvbnRhaW5pbmcg dGhlIGZvbnQuCisgCistRE9UX0ZPTlROQU1FICAgICAgICAgICA9IEZyZWVTYW5zCisrRE9UX0ZP TlROQU1FICAgICAgICAgICA9IEhlbHZldGljYQorIAorICMgVGhlIERPVF9GT05UU0laRSB0YWcg Y2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBzaXplIG9mIHRoZSBmb250IG9mIGRvdCBncmFwaHMuCisg IyBUaGUgZGVmYXVsdCBzaXplIGlzIDEwcHQuCisgCisgRE9UX0ZPTlRTSVpFICAgICAgICAgICA9 IDEwCisgCistIyBCeSBkZWZhdWx0IGRveHlnZW4gd2lsbCB0ZWxsIGRvdCB0byB1c2UgdGhlIG91 dHB1dCBkaXJlY3RvcnkgdG8gbG9vayBmb3IgdGhlCistIyBGcmVlU2Fucy50dGYgZm9udCAod2hp Y2ggZG94eWdlbiB3aWxsIHB1dCB0aGVyZSBpdHNlbGYpLiBJZiB5b3Ugc3BlY2lmeSBhCistIyBk aWZmZXJlbnQgZm9udCB1c2luZyBET1RfRk9OVE5BTUUgeW91IGNhbiBzZXQgdGhlIHBhdGggd2hl cmUgZG90CistIyBjYW4gZmluZCBpdCB1c2luZyB0aGlzIHRhZy4KKysjIEJ5IGRlZmF1bHQgZG94 eWdlbiB3aWxsIHRlbGwgZG90IHRvIHVzZSB0aGUgSGVsdmV0aWNhIGZvbnQuCisrIyBJZiB5b3Ug c3BlY2lmeSBhIGRpZmZlcmVudCBmb250IHVzaW5nIERPVF9GT05UTkFNRSB5b3UgY2FuIHVzZSBE T1RfRk9OVFBBVEggdG8KKysjIHNldCB0aGUgcGF0aCB3aGVyZSBkb3QgY2FuIGZpbmQgaXQuCisg CisgRE9UX0ZPTlRQQVRIICAgICAgICAgICA9CisgCisgIyBJZiB0aGUgQ0xBU1NfR1JBUEggYW5k IEhBVkVfRE9UIHRhZ3MgYXJlIHNldCB0byBZRVMgdGhlbiBkb3h5Z2VuCisgIyB3aWxsIGdlbmVy YXRlIGEgZ3JhcGggZm9yIGVhY2ggZG9jdW1lbnRlZCBjbGFzcyBzaG93aW5nIHRoZSBkaXJlY3Qg YW5kCisgIyBpbmRpcmVjdCBpbmhlcml0YW5jZSByZWxhdGlvbnMuIFNldHRpbmcgdGhpcyB0YWcg dG8gWUVTIHdpbGwgZm9yY2UgdGhlCistIyB0aGUgQ0xBU1NfRElBR1JBTVMgdGFnIHRvIE5PLgor KyMgQ0xBU1NfRElBR1JBTVMgdGFnIHRvIE5PLgorIAorIENMQVNTX0dSQVBIICAgICAgICAgICAg PSBZRVMKKyAKK0BAIC0xNDAyLDYgKzE3NDAsMTUgQEAgR1JPVVBfR1JBUEhTICAgICAgICAgICA9 IFlFUworIAorIFVNTF9MT09LICAgICAgICAgICAgICAgPSBOTworIAorKyMgSWYgdGhlIFVNTF9M T09LIHRhZyBpcyBlbmFibGVkLCB0aGUgZmllbGRzIGFuZCBtZXRob2RzIGFyZSBzaG93biBpbnNp ZGUKKysjIHRoZSBjbGFzcyBub2RlLiBJZiB0aGVyZSBhcmUgbWFueSBmaWVsZHMgb3IgbWV0aG9k cyBhbmQgbWFueSBub2RlcyB0aGUKKysjIGdyYXBoIG1heSBiZWNvbWUgdG9vIGJpZyB0byBiZSB1 c2VmdWwuIFRoZSBVTUxfTElNSVRfTlVNX0ZJRUxEUworKyMgdGhyZXNob2xkIGxpbWl0cyB0aGUg bnVtYmVyIG9mIGl0ZW1zIGZvciBlYWNoIHR5cGUgdG8gbWFrZSB0aGUgc2l6ZSBtb3JlCisrIyBt YW5hZ2VhYmxlLiBTZXQgdGhpcyB0byAwIGZvciBubyBsaW1pdC4gTm90ZSB0aGF0IHRoZSB0aHJl c2hvbGQgbWF5IGJlCisrIyBleGNlZWRlZCBieSA1MCUgYmVmb3JlIHRoZSBsaW1pdCBpcyBlbmZv cmNlZC4KKysKKytVTUxfTElNSVRfTlVNX0ZJRUxEUyAgID0gMTAKKysKKyAjIElmIHNldCB0byBZ RVMsIHRoZSBpbmhlcml0YW5jZSBhbmQgY29sbGFib3JhdGlvbiBncmFwaHMgd2lsbCBzaG93IHRo ZQorICMgcmVsYXRpb25zIGJldHdlZW4gdGVtcGxhdGVzIGFuZCB0aGVpciBpbnN0YW5jZXMuCisg CitAQCAtMTQzOCwxMSArMTc4NSwxMSBAQCBDQUxMX0dSQVBIICAgICAgICAgICAgID0gTk8KKyBD QUxMRVJfR1JBUEggICAgICAgICAgID0gTk8KKyAKKyAjIElmIHRoZSBHUkFQSElDQUxfSElFUkFS Q0hZIGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbgorLSMgd2ls bCBncmFwaGljYWwgaGllcmFyY2h5IG9mIGFsbCBjbGFzc2VzIGluc3RlYWQgb2YgYSB0ZXh0dWFs IG9uZS4KKysjIHdpbGwgZ2VuZXJhdGUgYSBncmFwaGljYWwgaGllcmFyY2h5IG9mIGFsbCBjbGFz c2VzIGluc3RlYWQgb2YgYSB0ZXh0dWFsIG9uZS4KKyAKKyBHUkFQSElDQUxfSElFUkFSQ0hZICAg ID0gWUVTCisgCistIyBJZiB0aGUgRElSRUNUT1JZX0dSQVBILCBTSE9XX0RJUkVDVE9SSUVTIGFu ZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVTCisrIyBJZiB0aGUgRElSRUNUT1JZX0dSQVBI IGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVTCisgIyB0aGVuIGRveHlnZW4gd2lsbCBz aG93IHRoZSBkZXBlbmRlbmNpZXMgYSBkaXJlY3RvcnkgaGFzIG9uIG90aGVyIGRpcmVjdG9yaWVz CisgIyBpbiBhIGdyYXBoaWNhbCB3YXkuIFRoZSBkZXBlbmRlbmN5IHJlbGF0aW9ucyBhcmUgZGV0 ZXJtaW5lZCBieSB0aGUgI2luY2x1ZGUKKyAjIHJlbGF0aW9ucyBiZXR3ZWVuIHRoZSBmaWxlcyBp biB0aGUgZGlyZWN0b3JpZXMuCitAQCAtMTQ1MCwxMSArMTc5NywyMiBAQCBHUkFQSElDQUxfSElF UkFSQ0hZICAgID0gWUVTCisgRElSRUNUT1JZX0dSQVBIICAgICAgICA9IFlFUworIAorICMgVGhl IERPVF9JTUFHRV9GT1JNQVQgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgaW1hZ2UgZm9ybWF0 IG9mIHRoZSBpbWFnZXMKKy0jIGdlbmVyYXRlZCBieSBkb3QuIFBvc3NpYmxlIHZhbHVlcyBhcmUg cG5nLCBqcGcsIG9yIGdpZgorLSMgSWYgbGVmdCBibGFuayBwbmcgd2lsbCBiZSB1c2VkLgorKyMg Z2VuZXJhdGVkIGJ5IGRvdC4gUG9zc2libGUgdmFsdWVzIGFyZSBzdmcsIHBuZywganBnLCBvciBn aWYuCisrIyBJZiBsZWZ0IGJsYW5rIHBuZyB3aWxsIGJlIHVzZWQuIElmIHlvdSBjaG9vc2Ugc3Zn IHlvdSBuZWVkIHRvIHNldAorKyMgSFRNTF9GSUxFX0VYVEVOU0lPTiB0byB4aHRtbCBpbiBvcmRl ciB0byBtYWtlIHRoZSBTVkcgZmlsZXMKKysjIHZpc2libGUgaW4gSUUgOSsgKG90aGVyIGJyb3dz ZXJzIGRvIG5vdCBoYXZlIHRoaXMgcmVxdWlyZW1lbnQpLgorIAorIERPVF9JTUFHRV9GT1JNQVQg ICAgICAgPSBwbmcKKyAKKysjIElmIERPVF9JTUFHRV9GT1JNQVQgaXMgc2V0IHRvIHN2ZywgdGhl biB0aGlzIG9wdGlvbiBjYW4gYmUgc2V0IHRvIFlFUyB0bworKyMgZW5hYmxlIGdlbmVyYXRpb24g b2YgaW50ZXJhY3RpdmUgU1ZHIGltYWdlcyB0aGF0IGFsbG93IHpvb21pbmcgYW5kIHBhbm5pbmcu CisrIyBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyBhIG1vZGVybiBicm93c2VyIG90aGVyIHRoYW4g SW50ZXJuZXQgRXhwbG9yZXIuCisrIyBUZXN0ZWQgYW5kIHdvcmtpbmcgYXJlIEZpcmVmb3gsIENo cm9tZSwgU2FmYXJpLCBhbmQgT3BlcmEuIEZvciBJRSA5KyB5b3UKKysjIG5lZWQgdG8gc2V0IEhU TUxfRklMRV9FWFRFTlNJT04gdG8geGh0bWwgaW4gb3JkZXIgdG8gbWFrZSB0aGUgU1ZHIGZpbGVz CisrIyB2aXNpYmxlLiBPbGRlciB2ZXJzaW9ucyBvZiBJRSBkbyBub3QgaGF2ZSBTVkcgc3VwcG9y dC4KKysKKytJTlRFUkFDVElWRV9TVkcgICAgICAgID0gTk8KKysKKyAjIFRoZSB0YWcgRE9UX1BB VEggY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgcGF0aCB3aGVyZSB0aGUgZG90IHRvb2wgY2Fu IGJlCisgIyBmb3VuZC4gSWYgbGVmdCBibGFuaywgaXQgaXMgYXNzdW1lZCB0aGUgZG90IHRvb2wg Y2FuIGJlIGZvdW5kIGluIHRoZSBwYXRoLgorIAorQEAgLTE0NjYsNiArMTgyNCwxMiBAQCBET1Rf UEFUSCAgICAgICAgICAgICAgID0KKyAKKyBET1RGSUxFX0RJUlMgICAgICAgICAgID0KKyAKKysj IFRoZSBNU0NGSUxFX0RJUlMgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUg ZGlyZWN0b3JpZXMgdGhhdAorKyMgY29udGFpbiBtc2MgZmlsZXMgdGhhdCBhcmUgaW5jbHVkZWQg aW4gdGhlIGRvY3VtZW50YXRpb24gKHNlZSB0aGUKKysjIFxtc2NmaWxlIGNvbW1hbmQpLgorKwor K01TQ0ZJTEVfRElSUyAgICAgICAgICAgPQorKworICMgVGhlIERPVF9HUkFQSF9NQVhfTk9ERVMg dGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YKKyAjIG5vZGVzIHRo YXQgd2lsbCBiZSBzaG93biBpbiB0aGUgZ3JhcGguIElmIHRoZSBudW1iZXIgb2Ygbm9kZXMgaW4g YSBncmFwaAorICMgYmVjb21lcyBsYXJnZXIgdGhhbiB0aGlzIHZhbHVlLCBkb3h5Z2VuIHdpbGwg dHJ1bmNhdGUgdGhlIGdyYXBoLCB3aGljaCBpcworZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdlbi9k b3h5eG1sL19faW5pdF9fLnB5IGIvZG9jcy9kb3h5Z2VuL2RveHl4bWwvX19pbml0X18ucHkKK2lu ZGV4IDVjZDBiM2MuLjllZmEzZDcgMTAwNjQ0CistLS0gZG9jcy9kb3h5Z2VuL2RveHl4bWwvX19p bml0X18ucHkKKysrKyBkb2NzL2RveHlnZW4vZG94eXhtbC9fX2luaXRfXy5weQorQEAgLTEsNyAr MSw4IEBACisgIworICMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIyBUaGlzIGZpbGUg d2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJhZGlvIGZy YW1ld29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1vc21vc2RyCisgIworICMgR05V IFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtNjMsOCArNjQsOSBAQCBUaGlzIGxpbmUgaXMgdW5p bmZvcm1hdGl2ZSBhbmQgaXMgb25seSB0byB0ZXN0IGxpbmUgYnJlYWtzIGluIHRoZSBjb21tZW50 cy4KKyB1J091dHB1dHMgdGhlIHZpdGFsIGFhZHZhcmsgc3RhdGlzdGljcy4nCisgCisgIiIiCisr ZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisgCistZnJvbSBkb3h5aW5k ZXggaW1wb3J0IERveHlJbmRleCwgRG94eUZ1bmN0aW9uLCBEb3h5UGFyYW0sIERveHlDbGFzcywg RG94eUZpbGUsIERveHlOYW1lc3BhY2UsIERveHlHcm91cCwgRG94eUZyaWVuZCwgRG94eU90aGVy CisrZnJvbSAuZG94eWluZGV4IGltcG9ydCBEb3h5SW5kZXgsIERveHlGdW5jdGlvbiwgRG94eVBh cmFtLCBEb3h5Q2xhc3MsIERveHlGaWxlLCBEb3h5TmFtZXNwYWNlLCBEb3h5R3JvdXAsIERveHlG cmllbmQsIERveHlPdGhlcgorIAorIGRlZiBfdGVzdCgpOgorICAgICBpbXBvcnQgb3MKK2RpZmYg LS1naXQgYS9kb2NzL2RveHlnZW4vZG94eXhtbC9iYXNlLnB5IGIvZG9jcy9kb3h5Z2VuL2RveHl4 bWwvYmFzZS5weQoraW5kZXggZThmMDI2YS4uZGYxZGEwNCAxMDA2NDQKKy0tLSBkb2NzL2RveHln ZW4vZG94eXhtbC9iYXNlLnB5CisrKysgZG9jcy9kb3h5Z2VuL2RveHl4bWwvYmFzZS5weQorQEAg LTEsNyArMSw4IEBACisgIworICMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIyBUaGlz IGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJh ZGlvIGZyYW1ld29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1vc21vc2RyCisgIwor ICMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtMjQsMjQgKzI1LDI2IEBAIEEgYmFzZSBj bGFzcyBpcyBjcmVhdGVkLgorIENsYXNzZXMgYmFzZWQgdXBvbiB0aGlzIGFyZSB1c2VkIHRvIG1h a2UgbW9yZSB1c2VyLWZyaWVuZGx5IGludGVyZmFjZXMKKyB0byB0aGUgZG94eWdlbiB4bWwgZG9j cyB0aGFuIHRoZSBnZW5lcmF0ZWQgY2xhc3NlcyBwcm92aWRlLgorICIiIgorK2Zyb20gX19mdXR1 cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHVuaWNv ZGVfbGl0ZXJhbHMKKyAKKyBpbXBvcnQgb3MKKyBpbXBvcnQgcGRiCisgCisgZnJvbSB4bWwucGFy c2Vycy5leHBhdCBpbXBvcnQgRXhwYXRFcnJvcgorIAorLWZyb20gZ2VuZXJhdGVkIGltcG9ydCBj b21wb3VuZAorK2Zyb20gLmdlbmVyYXRlZCBpbXBvcnQgY29tcG91bmQKKyAKKyAKKyBjbGFzcyBC YXNlKG9iamVjdCk6CisgCistICAgIGNsYXNzIER1cGxpY2F0ZShTdGFuZGFyZEVycm9yKToKKysg ICAgY2xhc3MgRHVwbGljYXRlKEV4Y2VwdGlvbik6CisgICAgICAgICBwYXNzCisgCistICAgIGNs YXNzIE5vU3VjaE1lbWJlcihTdGFuZGFyZEVycm9yKToKKysgICAgY2xhc3MgTm9TdWNoTWVtYmVy KEV4Y2VwdGlvbik6CisgICAgICAgICBwYXNzCisgCistICAgIGNsYXNzIFBhcnNpbmdFcnJvcihT dGFuZGFyZEVycm9yKToKKysgICAgY2xhc3MgUGFyc2luZ0Vycm9yKEV4Y2VwdGlvbik6CisgICAg ICAgICBwYXNzCisgCisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXJzZV9kYXRhLCB0b3A9Tm9u ZSk6CitAQCAtOTQsNyArOTcsNyBAQCBjbGFzcyBCYXNlKG9iamVjdCk6CisgICAgICAgICBmb3Ig Y2xzIGluIHNlbGYubWVtX2NsYXNzZXM6CisgICAgICAgICAgICAgaWYgY2xzLmNhbl9wYXJzZSht ZW0pOgorICAgICAgICAgICAgICAgICByZXR1cm4gY2xzCistICAgICAgICByYWlzZSBTdGFuZGFy ZEVycm9yKCgiRGlkIG5vdCBmaW5kIGEgY2xhc3MgZm9yIG9iamVjdCAnJXMnLiIgXAorKyAgICAg ICAgcmFpc2UgRXhjZXB0aW9uKCgiRGlkIG5vdCBmaW5kIGEgY2xhc3MgZm9yIG9iamVjdCAnJXMn LiIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKG1lbS5nZXRfbmFtZSgp KSkpCisgCisgICAgIGRlZiBjb252ZXJ0X21lbShzZWxmLCBtZW0pOgorQEAgLTEwMiwxMSArMTA1 LDExIEBAIGNsYXNzIEJhc2Uob2JqZWN0KToKKyAgICAgICAgICAgICBjbHMgPSBzZWxmLmdldF9j bHMobWVtKQorICAgICAgICAgICAgIGNvbnZlcnRlZCA9IGNscy5mcm9tX3BhcnNlX2RhdGEobWVt LCBzZWxmLnRvcCkKKyAgICAgICAgICAgICBpZiBjb252ZXJ0ZWQgaXMgTm9uZToKKy0gICAgICAg ICAgICAgICAgcmFpc2UgU3RhbmRhcmRFcnJvcignTm8gY2xhc3MgbWF0Y2hlZCB0aGlzIG9iamVj dC4nKQorKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ05vIGNsYXNzIG1hdGNoZWQg dGhpcyBvYmplY3QuJykKKyAgICAgICAgICAgICBzZWxmLmFkZF9yZWYoY29udmVydGVkKQorICAg ICAgICAgICAgIHJldHVybiBjb252ZXJ0ZWQKKy0gICAgICAgIGV4Y2VwdCBTdGFuZGFyZEVycm9y LCBlOgorLSAgICAgICAgICAgIHByaW50IGUKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg ZToKKysgICAgICAgICAgICBwcmludChlKQorIAorICAgICBAY2xhc3NtZXRob2QKKyAgICAgZGVm IGluY2x1ZGVzKGNscywgaW5zdCk6CitkaWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2VuL2RveHl4bWwv ZG94eWluZGV4LnB5IGIvZG9jcy9kb3h5Z2VuL2RveHl4bWwvZG94eWluZGV4LnB5CitpbmRleCAw MTMyYWI4Li5iNGM3YWVmIDEwMDY0NAorLS0tIGRvY3MvZG94eWdlbi9kb3h5eG1sL2RveHlpbmRl eC5weQorKysrIGRvY3MvZG94eWdlbi9kb3h5eG1sL2RveHlpbmRleC5weQorQEAgLTEsNyArMSw4 IEBACisgIworICMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIyBUaGlzIGZpbGUgd2Fz IGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJhZGlvIGZyYW1l d29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1vc21vc2RyCisgIworICMgR05VIFJh ZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtMjIsMTIgKzIzLDE0IEBACisgQ2xhc3NlcyBwcm92aWRp bmcgbW9yZSB1c2VyLWZyaWVuZGx5IGludGVyZmFjZXMgdG8gdGhlIGRveHlnZW4geG1sCisgZG9j cyB0aGFuIHRoZSBnZW5lcmF0ZWQgY2xhc3NlcyBwcm92aWRlLgorICIiIgorK2Zyb20gX19mdXR1 cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmlj b2RlX2xpdGVyYWxzCisgCisgaW1wb3J0IG9zCisgCistZnJvbSBnZW5lcmF0ZWQgaW1wb3J0IGlu ZGV4CistZnJvbSBiYXNlIGltcG9ydCBCYXNlCistZnJvbSB0ZXh0IGltcG9ydCBkZXNjcmlwdGlv bgorK2Zyb20gLmdlbmVyYXRlZCBpbXBvcnQgaW5kZXgKKytmcm9tIC5iYXNlIGltcG9ydCBCYXNl CisrZnJvbSAudGV4dCBpbXBvcnQgZGVzY3JpcHRpb24KKyAKKyBjbGFzcyBEb3h5SW5kZXgoQmFz ZSk6CisgICAgICIiIgorQEAgLTQzLDEzICs0NiwxNiBAQCBjbGFzcyBEb3h5SW5kZXgoQmFzZSk6 CisgICAgICAgICBzZWxmLl9yb290ID0gaW5kZXgucGFyc2Uob3MucGF0aC5qb2luKHNlbGYuX3ht bF9wYXRoLCAnaW5kZXgueG1sJykpCisgICAgICAgICBmb3IgbWVtIGluIHNlbGYuX3Jvb3QuY29t cG91bmQ6CisgICAgICAgICAgICAgY29udmVydGVkID0gc2VsZi5jb252ZXJ0X21lbShtZW0pCist ICAgICAgICAgICAgIyBGb3IgZmlsZXMgd2Ugd2FudCB0aGUgY29udGVudHMgdG8gYmUgYWNjZXNz aWJsZSBkaXJlY3RseQorLSAgICAgICAgICAgICMgZnJvbSB0aGUgcGFyZW50IHJhdGhlciB0aGFu IGhhdmluZyB0byBnbyB0aHJvdWdoIHRoZSBmaWxlCistICAgICAgICAgICAgIyBvYmplY3QuCisr ICAgICAgICAgICAgIyBGb3IgZmlsZXMgYW5kIG5hbWVzcGFjZXMgd2Ugd2FudCB0aGUgY29udGVu dHMgdG8gYmUKKysgICAgICAgICAgICAjIGFjY2Vzc2libGUgZGlyZWN0bHkgZnJvbSB0aGUgcGFy ZW50IHJhdGhlciB0aGFuIGhhdmluZworKyAgICAgICAgICAgICMgdG8gZ28gdGhyb3VnaCB0aGUg ZmlsZSBvYmplY3QuCisgICAgICAgICAgICAgaWYgc2VsZi5nZXRfY2xzKG1lbSkgPT0gRG94eUZp bGU6CisgICAgICAgICAgICAgICAgIGlmIG1lbS5uYW1lLmVuZHN3aXRoKCcuaCcpOgorICAgICAg ICAgICAgICAgICAgICAgc2VsZi5fbWVtYmVycyArPSBjb252ZXJ0ZWQubWVtYmVycygpCisgICAg ICAgICAgICAgICAgICAgICBzZWxmLl9tZW1iZXJzLmFwcGVuZChjb252ZXJ0ZWQpCisrICAgICAg ICAgICAgZWxpZiBzZWxmLmdldF9jbHMobWVtKSA9PSBEb3h5TmFtZXNwYWNlOgorKyAgICAgICAg ICAgICAgICBzZWxmLl9tZW1iZXJzICs9IGNvbnZlcnRlZC5tZW1iZXJzKCkKKysgICAgICAgICAg ICAgICAgc2VsZi5fbWVtYmVycy5hcHBlbmQoY29udmVydGVkKQorICAgICAgICAgICAgIGVsc2U6 CisgICAgICAgICAgICAgICAgIHNlbGYuX21lbWJlcnMuYXBwZW5kKGNvbnZlcnRlZCkKKyAKK0BA IC04MCwxMyArODYsMjkgQEAgY2xhc3MgRG94eUNvbXBNZW0oQmFzZSk6CisgICAgICAgICBzZWxm Ll9kYXRhWydicmllZl9kZXNjcmlwdGlvbiddID0gYmQKKyAgICAgICAgIHNlbGYuX2RhdGFbJ2Rl dGFpbGVkX2Rlc2NyaXB0aW9uJ10gPSBkZAorIAorKyAgICBkZWYgc2V0X3BhcmFtZXRlcnMoc2Vs ZiwgZGF0YSk6CisrICAgICAgICB2cyA9IFtkZGMudmFsdWUgZm9yIGRkYyBpbiBkYXRhLmRldGFp bGVkZGVzY3JpcHRpb24uY29udGVudF9dCisrICAgICAgICBwbHMgPSBbXQorKyAgICAgICAgZm9y IHYgaW4gdnM6CisrICAgICAgICAgICAgaWYgaGFzYXR0cih2LCAncGFyYW1ldGVybGlzdCcpOgor KyAgICAgICAgICAgICAgICBwbHMgKz0gdi5wYXJhbWV0ZXJsaXN0CisrICAgICAgICBwaXMgPSBb XQorKyAgICAgICAgZm9yIHBsIGluIHBsczoKKysgICAgICAgICAgICBwaXMgKz0gcGwucGFyYW1l dGVyaXRlbQorKyAgICAgICAgZHBpcyA9IFtdCisrICAgICAgICBmb3IgcGkgaW4gcGlzOgorKyAg ICAgICAgICAgIGRwaSA9IERveHlQYXJhbWV0ZXJJdGVtKHBpKQorKyAgICAgICAgICAgIGRwaS5f cGFyc2UoKQorKyAgICAgICAgICAgIGRwaXMuYXBwZW5kKGRwaSkKKysgICAgICAgIHNlbGYuX2Rh dGFbJ3BhcmFtcyddID0gZHBpcworKworKworIGNsYXNzIERveHlDb21wb3VuZChEb3h5Q29tcE1l bSk6CisgICAgIHBhc3MKKyAKKyBjbGFzcyBEb3h5TWVtYmVyKERveHlDb21wTWVtKToKKyAgICAg cGFzcworIAorLQorIGNsYXNzIERveHlGdW5jdGlvbihEb3h5TWVtYmVyKToKKyAKKyAgICAgX19t b2R1bGVfXyA9ICJnbnVyYWRpby51dGlscy5kb3h5eG1sIgorQEAgLTk4LDEwICsxMjAsMTMgQEAg Y2xhc3MgRG94eUZ1bmN0aW9uKERveHlNZW1iZXIpOgorICAgICAgICAgICAgIHJldHVybgorICAg ICAgICAgc3VwZXIoRG94eUZ1bmN0aW9uLCBzZWxmKS5fcGFyc2UoKQorICAgICAgICAgc2VsZi5z ZXRfZGVzY3JpcHRpb25zKHNlbGYuX3BhcnNlX2RhdGEpCistICAgICAgICBzZWxmLl9kYXRhWydw YXJhbXMnXSA9IFtdCistICAgICAgICBwcm1zID0gc2VsZi5fcGFyc2VfZGF0YS5wYXJhbQorLSAg ICAgICAgZm9yIHBybSBpbiBwcm1zOgorLSAgICAgICAgICAgIHNlbGYuX2RhdGFbJ3BhcmFtcydd LmFwcGVuZChEb3h5UGFyYW0ocHJtKSkKKysgICAgICAgIHNlbGYuc2V0X3BhcmFtZXRlcnMoc2Vs Zi5fcGFyc2VfZGF0YSkKKysgICAgICAgIGlmIG5vdCBzZWxmLl9kYXRhWydwYXJhbXMnXToKKysg ICAgICAgICAgICAjIElmIHRoZSBwYXJhbXMgd2VyZW4ndCBzZXQgYnkgYSBjb21tZW50IHRoZW4g anVzdCBncmFiIHRoZSBuYW1lcy4KKysgICAgICAgICAgICBzZWxmLl9kYXRhWydwYXJhbXMnXSA9 IFtdCisrICAgICAgICAgICAgcHJtcyA9IHNlbGYuX3BhcnNlX2RhdGEucGFyYW0KKysgICAgICAg ICAgICBmb3IgcHJtIGluIHBybXM6CisrICAgICAgICAgICAgICAgIHNlbGYuX2RhdGFbJ3BhcmFt cyddLmFwcGVuZChEb3h5UGFyYW0ocHJtKSkKKyAKKyAgICAgYnJpZWZfZGVzY3JpcHRpb24gPSBw cm9wZXJ0eShsYW1iZGEgc2VsZjogc2VsZi5kYXRhKClbJ2JyaWVmX2Rlc2NyaXB0aW9uJ10pCisg ICAgIGRldGFpbGVkX2Rlc2NyaXB0aW9uID0gcHJvcGVydHkobGFtYmRhIHNlbGY6IHNlbGYuZGF0 YSgpWydkZXRhaWxlZF9kZXNjcmlwdGlvbiddKQorQEAgLTEyMSw5ICsxNDYsMzkgQEAgY2xhc3Mg RG94eVBhcmFtKERveHlNZW1iZXIpOgorICAgICAgICAgc2VsZi5zZXRfZGVzY3JpcHRpb25zKHNl bGYuX3BhcnNlX2RhdGEpCisgICAgICAgICBzZWxmLl9kYXRhWydkZWNsbmFtZSddID0gc2VsZi5f cGFyc2VfZGF0YS5kZWNsbmFtZQorIAorKyAgICBAcHJvcGVydHkKKysgICAgZGVmIGRlc2NyaXB0 aW9uKHNlbGYpOgorKyAgICAgICAgZGVzY3JpcHRpb25zID0gW10KKysgICAgICAgIGlmIHNlbGYu YnJpZWZfZGVzY3JpcHRpb246CisrICAgICAgICAgICAgZGVzY3JpcHRpb25zLmFwcGVuZChzZWxm LmJyaWVmX2Rlc2NyaXB0aW9uKQorKyAgICAgICAgaWYgc2VsZi5kZXRhaWxlZF9kZXNjcmlwdGlv bjoKKysgICAgICAgICAgICBkZXNjcmlwdGlvbnMuYXBwZW5kKHNlbGYuZGV0YWlsZWRfZGVzY3Jp cHRpb24pCisrICAgICAgICByZXR1cm4gJ1xuXG4nLmpvaW4oZGVzY3JpcHRpb25zKQorKworICAg ICBicmllZl9kZXNjcmlwdGlvbiA9IHByb3BlcnR5KGxhbWJkYSBzZWxmOiBzZWxmLmRhdGEoKVsn YnJpZWZfZGVzY3JpcHRpb24nXSkKKyAgICAgZGV0YWlsZWRfZGVzY3JpcHRpb24gPSBwcm9wZXJ0 eShsYW1iZGEgc2VsZjogc2VsZi5kYXRhKClbJ2RldGFpbGVkX2Rlc2NyaXB0aW9uJ10pCistICAg IGRlY2xuYW1lID0gcHJvcGVydHkobGFtYmRhIHNlbGY6IHNlbGYuZGF0YSgpWydkZWNsbmFtZSdd KQorKyAgICBuYW1lID0gcHJvcGVydHkobGFtYmRhIHNlbGY6IHNlbGYuZGF0YSgpWydkZWNsbmFt ZSddKQorKworK2NsYXNzIERveHlQYXJhbWV0ZXJJdGVtKERveHlNZW1iZXIpOgorKyAgICAiIiJB IGRpZmZlcmVudCByZXByZXNlbnRhdGlvbiBvZiBhIHBhcmFtZXRlciBpbiBEb3h5Z2VuLiIiIgor KworKyAgICBkZWYgX3BhcnNlKHNlbGYpOgorKyAgICAgICAgaWYgc2VsZi5fcGFyc2VkOgorKyAg ICAgICAgICAgIHJldHVybgorKyAgICAgICAgc3VwZXIoRG94eVBhcmFtZXRlckl0ZW0sIHNlbGYp Ll9wYXJzZSgpCisrICAgICAgICBuYW1lcyA9IFtdCisrICAgICAgICBmb3IgbmwgaW4gc2VsZi5f cGFyc2VfZGF0YS5wYXJhbWV0ZXJuYW1lbGlzdDoKKysgICAgICAgICAgICBmb3IgcG4gaW4gbmwu cGFyYW1ldGVybmFtZToKKysgICAgICAgICAgICAgICAgbmFtZXMuYXBwZW5kKGRlc2NyaXB0aW9u KHBuKSkKKysgICAgICAgICMgSnVzdCB0YWtlIGZpcnN0IG5hbWUKKysgICAgICAgIHNlbGYuX2Rh dGFbJ25hbWUnXSA9IG5hbWVzWzBdCisrICAgICAgICAjIEdldCBkZXNjcmlwdGlvbgorKyAgICAg ICAgcGQgPSBkZXNjcmlwdGlvbihzZWxmLl9wYXJzZV9kYXRhLmdldF9wYXJhbWV0ZXJkZXNjcmlw dGlvbigpKQorKyAgICAgICAgc2VsZi5fZGF0YVsnZGVzY3JpcHRpb24nXSA9IHBkCisrCisrICAg IGRlc2NyaXB0aW9uID0gcHJvcGVydHkobGFtYmRhIHNlbGY6IHNlbGYuZGF0YSgpWydkZXNjcmlw dGlvbiddKQorKyAgICBuYW1lID0gcHJvcGVydHkobGFtYmRhIHNlbGY6IHNlbGYuZGF0YSgpWydu YW1lJ10pCisrCisgCisgY2xhc3MgRG94eUNsYXNzKERveHlDb21wb3VuZCk6CisgCitAQCAtMTM5 LDEyICsxOTQsMTQgQEAgY2xhc3MgRG94eUNsYXNzKERveHlDb21wb3VuZCk6CisgICAgICAgICBp ZiBzZWxmLl9lcnJvcjoKKyAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgIHNlbGYuc2V0X2Rl c2NyaXB0aW9ucyhzZWxmLl9yZXRyaWV2ZWRfZGF0YS5jb21wb3VuZGRlZikKKysgICAgICAgIHNl bGYuc2V0X3BhcmFtZXRlcnMoc2VsZi5fcmV0cmlldmVkX2RhdGEuY29tcG91bmRkZWYpCisgICAg ICAgICAjIFNlY3Rpb25kZWYua2luZCB0ZWxscyBhYm91dCB3aGV0aGVyIHByaXZhdGUgb3IgcHVi bGljLgorICAgICAgICAgIyBXZSBqdXN0IGlnbm9yZSB0aGlzIGZvciBub3cuCisgICAgICAgICBz ZWxmLnByb2Nlc3NfbWVtYmVyZGVmcygpCisgCisgICAgIGJyaWVmX2Rlc2NyaXB0aW9uID0gcHJv cGVydHkobGFtYmRhIHNlbGY6IHNlbGYuZGF0YSgpWydicmllZl9kZXNjcmlwdGlvbiddKQorICAg ICBkZXRhaWxlZF9kZXNjcmlwdGlvbiA9IHByb3BlcnR5KGxhbWJkYSBzZWxmOiBzZWxmLmRhdGEo KVsnZGV0YWlsZWRfZGVzY3JpcHRpb24nXSkKKysgICAgcGFyYW1zID0gcHJvcGVydHkobGFtYmRh IHNlbGY6IHNlbGYuZGF0YSgpWydwYXJhbXMnXSkKKyAKKyBCYXNlLm1lbV9jbGFzc2VzLmFwcGVu ZChEb3h5Q2xhc3MpCisgCitAQCAtMTc3LDYgKzIzNCwxNiBAQCBjbGFzcyBEb3h5TmFtZXNwYWNl KERveHlDb21wb3VuZCk6CisgCisgICAgIGtpbmQgPSAnbmFtZXNwYWNlJworIAorKyAgICBkZWYg X3BhcnNlKHNlbGYpOgorKyAgICAgICAgaWYgc2VsZi5fcGFyc2VkOgorKyAgICAgICAgICAgIHJl dHVybgorKyAgICAgICAgc3VwZXIoRG94eU5hbWVzcGFjZSwgc2VsZikuX3BhcnNlKCkKKysgICAg ICAgIHNlbGYucmV0cmlldmVfZGF0YSgpCisrICAgICAgICBzZWxmLnNldF9kZXNjcmlwdGlvbnMo c2VsZi5fcmV0cmlldmVkX2RhdGEuY29tcG91bmRkZWYpCisrICAgICAgICBpZiBzZWxmLl9lcnJv cjoKKysgICAgICAgICAgICByZXR1cm4KKysgICAgICAgIHNlbGYucHJvY2Vzc19tZW1iZXJkZWZz KCkKKysKKyBCYXNlLm1lbV9jbGFzc2VzLmFwcGVuZChEb3h5TmFtZXNwYWNlKQorIAorIAorQEAg LTIyNywxMSArMjk0LDExIEBAIGNsYXNzIERveHlPdGhlcihCYXNlKToKKyAKKyAgICAgX19tb2R1 bGVfXyA9ICJnbnVyYWRpby51dGlscy5kb3h5eG1sIgorIAorLSAgICBraW5kcyA9IHNldChbJ3Zh cmlhYmxlJywgJ3N0cnVjdCcsICd1bmlvbicsICdkZWZpbmUnLCAndHlwZWRlZicsICdlbnVtJywg J2RpcicsICdwYWdlJ10pCisrICAgIGtpbmRzID0gc2V0KFsndmFyaWFibGUnLCAnc3RydWN0Jywg J3VuaW9uJywgJ2RlZmluZScsICd0eXBlZGVmJywgJ2VudW0nLAorKyAgICAgICAgICAgICAgICAg J2RpcicsICdwYWdlJywgJ3NpZ25hbCcsICdzbG90JywgJ3Byb3BlcnR5J10pCisgCisgICAgIEBj bGFzc21ldGhvZAorICAgICBkZWYgY2FuX3BhcnNlKGNscywgb2JqKToKKyAgICAgICAgIHJldHVy biBvYmoua2luZCBpbiBjbHMua2luZHMKKyAKKyBCYXNlLm1lbV9jbGFzc2VzLmFwcGVuZChEb3h5 T3RoZXIpCistCitkaWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2VuL2RveHl4bWwvZXhhbXBsZS9Eb3h5 ZmlsZSBiL2RvY3MvZG94eWdlbi9kb3h5eG1sL2V4YW1wbGUvRG94eWZpbGUKK2RlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggOTc4MDA0My4uMDAwMDAwMAorLS0tIGRvY3MvZG94eWdlbi9k b3h5eG1sL2V4YW1wbGUvRG94eWZpbGUKKysrKyAvZGV2L251bGwKK0BAIC0xLDE1NTEgKzAsMCBA QAorLSMgRG94eWZpbGUgMS42LjMKKy0KKy0jIFRoaXMgZmlsZSBkZXNjcmliZXMgdGhlIHNldHRp bmdzIHRvIGJlIHVzZWQgYnkgdGhlIGRvY3VtZW50YXRpb24gc3lzdGVtCistIyBkb3h5Z2VuICh3 d3cuZG94eWdlbi5vcmcpIGZvciBhIHByb2plY3QKKy0jCistIyBBbGwgdGV4dCBhZnRlciBhIGhh c2ggKCMpIGlzIGNvbnNpZGVyZWQgYSBjb21tZW50IGFuZCB3aWxsIGJlIGlnbm9yZWQKKy0jIFRo ZSBmb3JtYXQgaXM6CistIyAgICAgICBUQUcgPSB2YWx1ZSBbdmFsdWUsIC4uLl0KKy0jIEZvciBs aXN0cyBpdGVtcyBjYW4gYWxzbyBiZSBhcHBlbmRlZCB1c2luZzoKKy0jICAgICAgIFRBRyArPSB2 YWx1ZSBbdmFsdWUsIC4uLl0KKy0jIFZhbHVlcyB0aGF0IGNvbnRhaW4gc3BhY2VzIHNob3VsZCBi ZSBwbGFjZWQgYmV0d2VlbiBxdW90ZXMgKCIgIikKKy0KKy0jLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist IyBQcm9qZWN0IHJlbGF0ZWQgY29uZmlndXJhdGlvbiBvcHRpb25zCistIy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorLQorLSMgVGhpcyB0YWcgc3BlY2lmaWVzIHRoZSBlbmNvZGluZyB1c2VkIGZvciBhbGwg Y2hhcmFjdGVycyBpbiB0aGUgY29uZmlnIGZpbGUKKy0jIHRoYXQgZm9sbG93LiBUaGUgZGVmYXVs dCBpcyBVVEYtOCB3aGljaCBpcyBhbHNvIHRoZSBlbmNvZGluZyB1c2VkIGZvciBhbGwKKy0jIHRl eHQgYmVmb3JlIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHRoaXMgdGFnLiBEb3h5Z2VuIHVzZXMg bGliaWNvbnYgKG9yIHRoZQorLSMgaWNvbnYgYnVpbHQgaW50byBsaWJjKSBmb3IgdGhlIHRyYW5z Y29kaW5nLiBTZWUKKy0jIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJpY29udiBmb3Ig dGhlIGxpc3Qgb2YgcG9zc2libGUgZW5jb2RpbmdzLgorLQorLURPWFlGSUxFX0VOQ09ESU5HICAg ICAgPSBVVEYtOAorLQorLSMgVGhlIFBST0pFQ1RfTkFNRSB0YWcgaXMgYSBzaW5nbGUgd29yZCAo b3IgYSBzZXF1ZW5jZSBvZiB3b3JkcyBzdXJyb3VuZGVkCistIyBieSBxdW90ZXMpIHRoYXQgc2hv dWxkIGlkZW50aWZ5IHRoZSBwcm9qZWN0LgorLQorLVBST0pFQ1RfTkFNRSAgICAgICAgICAgPQor LQorLSMgVGhlIFBST0pFQ1RfTlVNQkVSIHRhZyBjYW4gYmUgdXNlZCB0byBlbnRlciBhIHByb2pl Y3Qgb3IgcmV2aXNpb24gbnVtYmVyLgorLSMgVGhpcyBjb3VsZCBiZSBoYW5keSBmb3IgYXJjaGl2 aW5nIHRoZSBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiBvcgorLSMgaWYgc29tZSB2ZXJzaW9uIGNv bnRyb2wgc3lzdGVtIGlzIHVzZWQuCistCistUFJPSkVDVF9OVU1CRVIgICAgICAgICA9CistCist IyBUaGUgT1VUUFVUX0RJUkVDVE9SWSB0YWcgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSAocmVsYXRp dmUgb3IgYWJzb2x1dGUpCistIyBiYXNlIHBhdGggd2hlcmUgdGhlIGdlbmVyYXRlZCBkb2N1bWVu dGF0aW9uIHdpbGwgYmUgcHV0LgorLSMgSWYgYSByZWxhdGl2ZSBwYXRoIGlzIGVudGVyZWQsIGl0 IHdpbGwgYmUgcmVsYXRpdmUgdG8gdGhlIGxvY2F0aW9uCistIyB3aGVyZSBkb3h5Z2VuIHdhcyBz dGFydGVkLiBJZiBsZWZ0IGJsYW5rIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB3aWxsIGJlIHVzZWQu CistCistT1VUUFVUX0RJUkVDVE9SWSAgICAgICA9CistCistIyBJZiB0aGUgQ1JFQVRFX1NVQkRJ UlMgdGFnIGlzIHNldCB0byBZRVMsIHRoZW4gZG94eWdlbiB3aWxsIGNyZWF0ZQorLSMgNDA5NiBz dWItZGlyZWN0b3JpZXMgKGluIDIgbGV2ZWxzKSB1bmRlciB0aGUgb3V0cHV0IGRpcmVjdG9yeSBv ZiBlYWNoIG91dHB1dAorLSMgZm9ybWF0IGFuZCB3aWxsIGRpc3RyaWJ1dGUgdGhlIGdlbmVyYXRl ZCBmaWxlcyBvdmVyIHRoZXNlIGRpcmVjdG9yaWVzLgorLSMgRW5hYmxpbmcgdGhpcyBvcHRpb24g Y2FuIGJlIHVzZWZ1bCB3aGVuIGZlZWRpbmcgZG94eWdlbiBhIGh1Z2UgYW1vdW50IG9mCistIyBz b3VyY2UgZmlsZXMsIHdoZXJlIHB1dHRpbmcgYWxsIGdlbmVyYXRlZCBmaWxlcyBpbiB0aGUgc2Ft ZSBkaXJlY3Rvcnkgd291bGQKKy0jIG90aGVyd2lzZSBjYXVzZSBwZXJmb3JtYW5jZSBwcm9ibGVt cyBmb3IgdGhlIGZpbGUgc3lzdGVtLgorLQorLUNSRUFURV9TVUJESVJTICAgICAgICAgPSBOTwor LQorLSMgVGhlIE9VVFBVVF9MQU5HVUFHRSB0YWcgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBsYW5n dWFnZSBpbiB3aGljaCBhbGwKKy0jIGRvY3VtZW50YXRpb24gZ2VuZXJhdGVkIGJ5IGRveHlnZW4g aXMgd3JpdHRlbi4gRG94eWdlbiB3aWxsIHVzZSB0aGlzCistIyBpbmZvcm1hdGlvbiB0byBnZW5l cmF0ZSBhbGwgY29uc3RhbnQgb3V0cHV0IGluIHRoZSBwcm9wZXIgbGFuZ3VhZ2UuCistIyBUaGUg ZGVmYXVsdCBsYW5ndWFnZSBpcyBFbmdsaXNoLCBvdGhlciBzdXBwb3J0ZWQgbGFuZ3VhZ2VzIGFy ZToKKy0jIEFmcmlrYWFucywgQXJhYmljLCBCcmF6aWxpYW4sIENhdGFsYW4sIENoaW5lc2UsIENo aW5lc2UtVHJhZGl0aW9uYWwsCistIyBDcm9hdGlhbiwgQ3plY2gsIERhbmlzaCwgRHV0Y2gsIEVz cGVyYW50bywgRmFyc2ksIEZpbm5pc2gsIEZyZW5jaCwgR2VybWFuLAorLSMgR3JlZWssIEh1bmdh cmlhbiwgSXRhbGlhbiwgSmFwYW5lc2UsIEphcGFuZXNlLWVuIChKYXBhbmVzZSB3aXRoIEVuZ2xp c2gKKy0jIG1lc3NhZ2VzKSwgS29yZWFuLCBLb3JlYW4tZW4sIExpdGh1YW5pYW4sIE5vcndlZ2lh biwgTWFjZWRvbmlhbiwgUGVyc2lhbiwKKy0jIFBvbGlzaCwgUG9ydHVndWVzZSwgUm9tYW5pYW4s IFJ1c3NpYW4sIFNlcmJpYW4sIFNlcmJpYW4tQ3lyaWxpYywgU2xvdmFrLAorLSMgU2xvdmVuZSwg U3BhbmlzaCwgU3dlZGlzaCwgVWtyYWluaWFuLCBhbmQgVmlldG5hbWVzZS4KKy0KKy1PVVRQVVRf TEFOR1VBR0UgICAgICAgID0gRW5nbGlzaAorLQorLSMgSWYgdGhlIEJSSUVGX01FTUJFUl9ERVND IHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgRG94eWdlbiB3aWxsCistIyBpbmNsdWRl IGJyaWVmIG1lbWJlciBkZXNjcmlwdGlvbnMgYWZ0ZXIgdGhlIG1lbWJlcnMgdGhhdCBhcmUgbGlz dGVkIGluCistIyB0aGUgZmlsZSBhbmQgY2xhc3MgZG9jdW1lbnRhdGlvbiAoc2ltaWxhciB0byBK YXZhRG9jKS4KKy0jIFNldCB0byBOTyB0byBkaXNhYmxlIHRoaXMuCistCistQlJJRUZfTUVNQkVS X0RFU0MgICAgICA9IFlFUworLQorLSMgSWYgdGhlIFJFUEVBVF9CUklFRiB0YWcgaXMgc2V0IHRv IFlFUyAodGhlIGRlZmF1bHQpIERveHlnZW4gd2lsbCBwcmVwZW5kCistIyB0aGUgYnJpZWYgZGVz Y3JpcHRpb24gb2YgYSBtZW1iZXIgb3IgZnVuY3Rpb24gYmVmb3JlIHRoZSBkZXRhaWxlZCBkZXNj cmlwdGlvbi4KKy0jIE5vdGU6IGlmIGJvdGggSElERV9VTkRPQ19NRU1CRVJTIGFuZCBCUklFRl9N RU1CRVJfREVTQyBhcmUgc2V0IHRvIE5PLCB0aGUKKy0jIGJyaWVmIGRlc2NyaXB0aW9ucyB3aWxs IGJlIGNvbXBsZXRlbHkgc3VwcHJlc3NlZC4KKy0KKy1SRVBFQVRfQlJJRUYgICAgICAgICAgID0g WUVTCistCistIyBUaGlzIHRhZyBpbXBsZW1lbnRzIGEgcXVhc2ktaW50ZWxsaWdlbnQgYnJpZWYg ZGVzY3JpcHRpb24gYWJicmV2aWF0b3IKKy0jIHRoYXQgaXMgdXNlZCB0byBmb3JtIHRoZSB0ZXh0 IGluIHZhcmlvdXMgbGlzdGluZ3MuIEVhY2ggc3RyaW5nCistIyBpbiB0aGlzIGxpc3QsIGlmIGZv dW5kIGFzIHRoZSBsZWFkaW5nIHRleHQgb2YgdGhlIGJyaWVmIGRlc2NyaXB0aW9uLCB3aWxsIGJl CistIyBzdHJpcHBlZCBmcm9tIHRoZSB0ZXh0IGFuZCB0aGUgcmVzdWx0IGFmdGVyIHByb2Nlc3Np bmcgdGhlIHdob2xlIGxpc3QsIGlzCistIyB1c2VkIGFzIHRoZSBhbm5vdGF0ZWQgdGV4dC4gT3Ro ZXJ3aXNlLCB0aGUgYnJpZWYgZGVzY3JpcHRpb24gaXMgdXNlZCBhcy1pcy4KKy0jIElmIGxlZnQg YmxhbmssIHRoZSBmb2xsb3dpbmcgdmFsdWVzIGFyZSB1c2VkICgiJG5hbWUiIGlzIGF1dG9tYXRp Y2FsbHkKKy0jIHJlcGxhY2VkIHdpdGggdGhlIG5hbWUgb2YgdGhlIGVudGl0eSk6ICJUaGUgJG5h bWUgY2xhc3MiICJUaGUgJG5hbWUgd2lkZ2V0IgorLSMgIlRoZSAkbmFtZSBmaWxlIiAiaXMiICJw cm92aWRlcyIgInNwZWNpZmllcyIgImNvbnRhaW5zIgorLSMgInJlcHJlc2VudHMiICJhIiAiYW4i ICJ0aGUiCistCistQUJCUkVWSUFURV9CUklFRiAgICAgICA9CistCistIyBJZiB0aGUgQUxXQVlT X0RFVEFJTEVEX1NFQyBhbmQgUkVQRUFUX0JSSUVGIHRhZ3MgYXJlIGJvdGggc2V0IHRvIFlFUyB0 aGVuCistIyBEb3h5Z2VuIHdpbGwgZ2VuZXJhdGUgYSBkZXRhaWxlZCBzZWN0aW9uIGV2ZW4gaWYg dGhlcmUgaXMgb25seSBhIGJyaWVmCistIyBkZXNjcmlwdGlvbi4KKy0KKy1BTFdBWVNfREVUQUlM RURfU0VDICAgID0gTk8KKy0KKy0jIElmIHRoZSBJTkxJTkVfSU5IRVJJVEVEX01FTUIgdGFnIGlz IHNldCB0byBZRVMsIGRveHlnZW4gd2lsbCBzaG93IGFsbAorLSMgaW5oZXJpdGVkIG1lbWJlcnMg b2YgYSBjbGFzcyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGF0IGNsYXNzIGFzIGlmIHRob3Nl CistIyBtZW1iZXJzIHdlcmUgb3JkaW5hcnkgY2xhc3MgbWVtYmVycy4gQ29uc3RydWN0b3JzLCBk ZXN0cnVjdG9ycyBhbmQgYXNzaWdubWVudAorLSMgb3BlcmF0b3JzIG9mIHRoZSBiYXNlIGNsYXNz ZXMgd2lsbCBub3QgYmUgc2hvd24uCistCistSU5MSU5FX0lOSEVSSVRFRF9NRU1CICA9IE5PCist CistIyBJZiB0aGUgRlVMTF9QQVRIX05BTUVTIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gRG94eWdl biB3aWxsIHByZXBlbmQgdGhlIGZ1bGwKKy0jIHBhdGggYmVmb3JlIGZpbGVzIG5hbWUgaW4gdGhl IGZpbGUgbGlzdCBhbmQgaW4gdGhlIGhlYWRlciBmaWxlcy4gSWYgc2V0CistIyB0byBOTyB0aGUg c2hvcnRlc3QgcGF0aCB0aGF0IG1ha2VzIHRoZSBmaWxlIG5hbWUgdW5pcXVlIHdpbGwgYmUgdXNl ZC4KKy0KKy1GVUxMX1BBVEhfTkFNRVMgICAgICAgID0gWUVTCistCistIyBJZiB0aGUgRlVMTF9Q QVRIX05BTUVTIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gdGhlIFNUUklQX0ZST01fUEFUSCB0YWcK Ky0jIGNhbiBiZSB1c2VkIHRvIHN0cmlwIGEgdXNlci1kZWZpbmVkIHBhcnQgb2YgdGhlIHBhdGgu IFN0cmlwcGluZyBpcworLSMgb25seSBkb25lIGlmIG9uZSBvZiB0aGUgc3BlY2lmaWVkIHN0cmlu Z3MgbWF0Y2hlcyB0aGUgbGVmdC1oYW5kIHBhcnQgb2YKKy0jIHRoZSBwYXRoLiBUaGUgdGFnIGNh biBiZSB1c2VkIHRvIHNob3cgcmVsYXRpdmUgcGF0aHMgaW4gdGhlIGZpbGUgbGlzdC4KKy0jIElm IGxlZnQgYmxhbmsgdGhlIGRpcmVjdG9yeSBmcm9tIHdoaWNoIGRveHlnZW4gaXMgcnVuIGlzIHVz ZWQgYXMgdGhlCistIyBwYXRoIHRvIHN0cmlwLgorLQorLVNUUklQX0ZST01fUEFUSCAgICAgICAg PQorLQorLSMgVGhlIFNUUklQX0ZST01fSU5DX1BBVEggdGFnIGNhbiBiZSB1c2VkIHRvIHN0cmlw IGEgdXNlci1kZWZpbmVkIHBhcnQgb2YKKy0jIHRoZSBwYXRoIG1lbnRpb25lZCBpbiB0aGUgZG9j dW1lbnRhdGlvbiBvZiBhIGNsYXNzLCB3aGljaCB0ZWxscworLSMgdGhlIHJlYWRlciB3aGljaCBo ZWFkZXIgZmlsZSB0byBpbmNsdWRlIGluIG9yZGVyIHRvIHVzZSBhIGNsYXNzLgorLSMgSWYgbGVm dCBibGFuayBvbmx5IHRoZSBuYW1lIG9mIHRoZSBoZWFkZXIgZmlsZSBjb250YWluaW5nIHRoZSBj bGFzcworLSMgZGVmaW5pdGlvbiBpcyB1c2VkLiBPdGhlcndpc2Ugb25lIHNob3VsZCBzcGVjaWZ5 IHRoZSBpbmNsdWRlIHBhdGhzIHRoYXQKKy0jIGFyZSBub3JtYWxseSBwYXNzZWQgdG8gdGhlIGNv bXBpbGVyIHVzaW5nIHRoZSAtSSBmbGFnLgorLQorLVNUUklQX0ZST01fSU5DX1BBVEggICAgPQor LQorLSMgSWYgdGhlIFNIT1JUX05BTUVTIHRhZyBpcyBzZXQgdG8gWUVTLCBkb3h5Z2VuIHdpbGwg Z2VuZXJhdGUgbXVjaCBzaG9ydGVyCistIyAoYnV0IGxlc3MgcmVhZGFibGUpIGZpbGUgbmFtZXMu IFRoaXMgY2FuIGJlIHVzZWZ1bCBpcyB5b3VyIGZpbGUgc3lzdGVtcworLSMgZG9lc24ndCBzdXBw b3J0IGxvbmcgbmFtZXMgbGlrZSBvbiBET1MsIE1hYywgb3IgQ0QtUk9NLgorLQorLVNIT1JUX05B TUVTICAgICAgICAgICAgPSBOTworLQorLSMgSWYgdGhlIEpBVkFET0NfQVVUT0JSSUVGIHRhZyBp cyBzZXQgdG8gWUVTIHRoZW4gRG94eWdlbgorLSMgd2lsbCBpbnRlcnByZXQgdGhlIGZpcnN0IGxp bmUgKHVudGlsIHRoZSBmaXJzdCBkb3QpIG9mIGEgSmF2YURvYy1zdHlsZQorLSMgY29tbWVudCBh cyB0aGUgYnJpZWYgZGVzY3JpcHRpb24uIElmIHNldCB0byBOTywgdGhlIEphdmFEb2MKKy0jIGNv bW1lbnRzIHdpbGwgYmVoYXZlIGp1c3QgbGlrZSByZWd1bGFyIFF0LXN0eWxlIGNvbW1lbnRzCist IyAodGh1cyByZXF1aXJpbmcgYW4gZXhwbGljaXQgQGJyaWVmIGNvbW1hbmQgZm9yIGEgYnJpZWYg ZGVzY3JpcHRpb24uKQorLQorLUpBVkFET0NfQVVUT0JSSUVGICAgICAgPSBOTworLQorLSMgSWYg dGhlIFFUX0FVVE9CUklFRiB0YWcgaXMgc2V0IHRvIFlFUyB0aGVuIERveHlnZW4gd2lsbAorLSMg aW50ZXJwcmV0IHRoZSBmaXJzdCBsaW5lICh1bnRpbCB0aGUgZmlyc3QgZG90KSBvZiBhIFF0LXN0 eWxlCistIyBjb21tZW50IGFzIHRoZSBicmllZiBkZXNjcmlwdGlvbi4gSWYgc2V0IHRvIE5PLCB0 aGUgY29tbWVudHMKKy0jIHdpbGwgYmVoYXZlIGp1c3QgbGlrZSByZWd1bGFyIFF0LXN0eWxlIGNv bW1lbnRzICh0aHVzIHJlcXVpcmluZworLSMgYW4gZXhwbGljaXQgXGJyaWVmIGNvbW1hbmQgZm9y IGEgYnJpZWYgZGVzY3JpcHRpb24uKQorLQorLVFUX0FVVE9CUklFRiAgICAgICAgICAgPSBOTwor LQorLSMgVGhlIE1VTFRJTElORV9DUFBfSVNfQlJJRUYgdGFnIGNhbiBiZSBzZXQgdG8gWUVTIHRv IG1ha2UgRG94eWdlbgorLSMgdHJlYXQgYSBtdWx0aS1saW5lIEMrKyBzcGVjaWFsIGNvbW1lbnQg YmxvY2sgKGkuZS4gYSBibG9jayBvZiAvLyEgb3IgLy8vCistIyBjb21tZW50cykgYXMgYSBicmll ZiBkZXNjcmlwdGlvbi4gVGhpcyB1c2VkIHRvIGJlIHRoZSBkZWZhdWx0IGJlaGF2aW91ci4KKy0j IFRoZSBuZXcgZGVmYXVsdCBpcyB0byB0cmVhdCBhIG11bHRpLWxpbmUgQysrIGNvbW1lbnQgYmxv Y2sgYXMgYSBkZXRhaWxlZAorLSMgZGVzY3JpcHRpb24uIFNldCB0aGlzIHRhZyB0byBZRVMgaWYg eW91IHByZWZlciB0aGUgb2xkIGJlaGF2aW91ciBpbnN0ZWFkLgorLQorLU1VTFRJTElORV9DUFBf SVNfQlJJRUYgPSBOTworLQorLSMgSWYgdGhlIElOSEVSSVRfRE9DUyB0YWcgaXMgc2V0IHRvIFlF UyAodGhlIGRlZmF1bHQpIHRoZW4gYW4gdW5kb2N1bWVudGVkCistIyBtZW1iZXIgaW5oZXJpdHMg dGhlIGRvY3VtZW50YXRpb24gZnJvbSBhbnkgZG9jdW1lbnRlZCBtZW1iZXIgdGhhdCBpdAorLSMg cmUtaW1wbGVtZW50cy4KKy0KKy1JTkhFUklUX0RPQ1MgICAgICAgICAgID0gWUVTCistCistIyBJ ZiB0aGUgU0VQQVJBVEVfTUVNQkVSX1BBR0VTIHRhZyBpcyBzZXQgdG8gWUVTLCB0aGVuIGRveHln ZW4gd2lsbCBwcm9kdWNlCistIyBhIG5ldyBwYWdlIGZvciBlYWNoIG1lbWJlci4gSWYgc2V0IHRv IE5PLCB0aGUgZG9jdW1lbnRhdGlvbiBvZiBhIG1lbWJlciB3aWxsCistIyBiZSBwYXJ0IG9mIHRo ZSBmaWxlL2NsYXNzL25hbWVzcGFjZSB0aGF0IGNvbnRhaW5zIGl0LgorLQorLVNFUEFSQVRFX01F TUJFUl9QQUdFUyAgPSBOTworLQorLSMgVGhlIFRBQl9TSVpFIHRhZyBjYW4gYmUgdXNlZCB0byBz ZXQgdGhlIG51bWJlciBvZiBzcGFjZXMgaW4gYSB0YWIuCistIyBEb3h5Z2VuIHVzZXMgdGhpcyB2 YWx1ZSB0byByZXBsYWNlIHRhYnMgYnkgc3BhY2VzIGluIGNvZGUgZnJhZ21lbnRzLgorLQorLVRB Ql9TSVpFICAgICAgICAgICAgICAgPSA4CistCistIyBUaGlzIHRhZyBjYW4gYmUgdXNlZCB0byBz cGVjaWZ5IGEgbnVtYmVyIG9mIGFsaWFzZXMgdGhhdCBhY3RzCistIyBhcyBjb21tYW5kcyBpbiB0 aGUgZG9jdW1lbnRhdGlvbi4gQW4gYWxpYXMgaGFzIHRoZSBmb3JtICJuYW1lPXZhbHVlIi4KKy0j IEZvciBleGFtcGxlIGFkZGluZyAic2lkZWVmZmVjdD1ccGFyIFNpZGUgRWZmZWN0czpcbiIgd2ls bCBhbGxvdyB5b3UgdG8KKy0jIHB1dCB0aGUgY29tbWFuZCBcc2lkZWVmZmVjdCAob3IgQHNpZGVl ZmZlY3QpIGluIHRoZSBkb2N1bWVudGF0aW9uLCB3aGljaAorLSMgd2lsbCByZXN1bHQgaW4gYSB1 c2VyLWRlZmluZWQgcGFyYWdyYXBoIHdpdGggaGVhZGluZyAiU2lkZSBFZmZlY3RzOiIuCistIyBZ b3UgY2FuIHB1dCBcbidzIGluIHRoZSB2YWx1ZSBwYXJ0IG9mIGFuIGFsaWFzIHRvIGluc2VydCBu ZXdsaW5lcy4KKy0KKy1BTElBU0VTICAgICAgICAgICAgICAgID0KKy0KKy0jIFNldCB0aGUgT1BU SU1JWkVfT1VUUFVUX0ZPUl9DIHRhZyB0byBZRVMgaWYgeW91ciBwcm9qZWN0IGNvbnNpc3RzIG9m IEMKKy0jIHNvdXJjZXMgb25seS4gRG94eWdlbiB3aWxsIHRoZW4gZ2VuZXJhdGUgb3V0cHV0IHRo YXQgaXMgbW9yZSB0YWlsb3JlZCBmb3IgQy4KKy0jIEZvciBpbnN0YW5jZSwgc29tZSBvZiB0aGUg bmFtZXMgdGhhdCBhcmUgdXNlZCB3aWxsIGJlIGRpZmZlcmVudC4gVGhlIGxpc3QKKy0jIG9mIGFs bCBtZW1iZXJzIHdpbGwgYmUgb21pdHRlZCwgZXRjLgorLQorLU9QVElNSVpFX09VVFBVVF9GT1Jf QyAgPSBOTworLQorLSMgU2V0IHRoZSBPUFRJTUlaRV9PVVRQVVRfSkFWQSB0YWcgdG8gWUVTIGlm IHlvdXIgcHJvamVjdCBjb25zaXN0cyBvZiBKYXZhCistIyBzb3VyY2VzIG9ubHkuIERveHlnZW4g d2lsbCB0aGVuIGdlbmVyYXRlIG91dHB1dCB0aGF0IGlzIG1vcmUgdGFpbG9yZWQgZm9yCistIyBK YXZhLiBGb3IgaW5zdGFuY2UsIG5hbWVzcGFjZXMgd2lsbCBiZSBwcmVzZW50ZWQgYXMgcGFja2Fn ZXMsIHF1YWxpZmllZAorLSMgc2NvcGVzIHdpbGwgbG9vayBkaWZmZXJlbnQsIGV0Yy4KKy0KKy1P UFRJTUlaRV9PVVRQVVRfSkFWQSAgID0gTk8KKy0KKy0jIFNldCB0aGUgT1BUSU1JWkVfRk9SX0ZP UlRSQU4gdGFnIHRvIFlFUyBpZiB5b3VyIHByb2plY3QgY29uc2lzdHMgb2YgRm9ydHJhbgorLSMg c291cmNlcyBvbmx5LiBEb3h5Z2VuIHdpbGwgdGhlbiBnZW5lcmF0ZSBvdXRwdXQgdGhhdCBpcyBt b3JlIHRhaWxvcmVkIGZvcgorLSMgRm9ydHJhbi4KKy0KKy1PUFRJTUlaRV9GT1JfRk9SVFJBTiAg ID0gTk8KKy0KKy0jIFNldCB0aGUgT1BUSU1JWkVfT1VUUFVUX1ZIREwgdGFnIHRvIFlFUyBpZiB5 b3VyIHByb2plY3QgY29uc2lzdHMgb2YgVkhETAorLSMgc291cmNlcy4gRG94eWdlbiB3aWxsIHRo ZW4gZ2VuZXJhdGUgb3V0cHV0IHRoYXQgaXMgdGFpbG9yZWQgZm9yCistIyBWSERMLgorLQorLU9Q VElNSVpFX09VVFBVVF9WSERMICAgPSBOTworLQorLSMgRG94eWdlbiBzZWxlY3RzIHRoZSBwYXJz ZXIgdG8gdXNlIGRlcGVuZGluZyBvbiB0aGUgZXh0ZW5zaW9uIG9mIHRoZSBmaWxlcyBpdCBwYXJz ZXMuCistIyBXaXRoIHRoaXMgdGFnIHlvdSBjYW4gYXNzaWduIHdoaWNoIHBhcnNlciB0byB1c2Ug Zm9yIGEgZ2l2ZW4gZXh0ZW5zaW9uLgorLSMgRG94eWdlbiBoYXMgYSBidWlsdC1pbiBtYXBwaW5n LCBidXQgeW91IGNhbiBvdmVycmlkZSBvciBleHRlbmQgaXQgdXNpbmcgdGhpcyB0YWcuCistIyBU aGUgZm9ybWF0IGlzIGV4dD1sYW5ndWFnZSwgd2hlcmUgZXh0IGlzIGEgZmlsZSBleHRlbnNpb24s IGFuZCBsYW5ndWFnZSBpcyBvbmUgb2YKKy0jIHRoZSBwYXJzZXJzIHN1cHBvcnRlZCBieSBkb3h5 Z2VuOiBJREwsIEphdmEsIEphdmFzY3JpcHQsIEMjLCBDLCBDKyssIEQsIFBIUCwKKy0jIE9iamVj dGl2ZS1DLCBQeXRob24sIEZvcnRyYW4sIFZIREwsIEMsIEMrKy4gRm9yIGluc3RhbmNlIHRvIG1h a2UgZG94eWdlbiB0cmVhdAorLSMgLmluYyBmaWxlcyBhcyBGb3J0cmFuIGZpbGVzIChkZWZhdWx0 IGlzIFBIUCksIGFuZCAuZiBmaWxlcyBhcyBDIChkZWZhdWx0IGlzIEZvcnRyYW4pLAorLSMgdXNl OiBpbmM9Rm9ydHJhbiBmPUMuIE5vdGUgdGhhdCBmb3IgY3VzdG9tIGV4dGVuc2lvbnMgeW91IGFs c28gbmVlZCB0byBzZXQgRklMRV9QQVRURVJOUyBvdGhlcndpc2UgdGhlIGZpbGVzIGFyZSBub3Qg cmVhZCBieSBkb3h5Z2VuLgorLQorLUVYVEVOU0lPTl9NQVBQSU5HICAgICAgPQorLQorLSMgSWYg eW91IHVzZSBTVEwgY2xhc3NlcyAoaS5lLiBzdGQ6OnN0cmluZywgc3RkOjp2ZWN0b3IsIGV0Yy4p IGJ1dCBkbyBub3Qgd2FudAorLSMgdG8gaW5jbHVkZSAoYSB0YWcgZmlsZSBmb3IpIHRoZSBTVEwg c291cmNlcyBhcyBpbnB1dCwgdGhlbiB5b3Ugc2hvdWxkCistIyBzZXQgdGhpcyB0YWcgdG8gWUVT IGluIG9yZGVyIHRvIGxldCBkb3h5Z2VuIG1hdGNoIGZ1bmN0aW9ucyBkZWNsYXJhdGlvbnMgYW5k CistIyBkZWZpbml0aW9ucyB3aG9zZSBhcmd1bWVudHMgY29udGFpbiBTVEwgY2xhc3NlcyAoZS5n LiBmdW5jKHN0ZDo6c3RyaW5nKTsgdi5zLgorLSMgZnVuYyhzdGQ6OnN0cmluZykge30pLiBUaGlz IGFsc28gbWFrZSB0aGUgaW5oZXJpdGFuY2UgYW5kIGNvbGxhYm9yYXRpb24KKy0jIGRpYWdyYW1z IHRoYXQgaW52b2x2ZSBTVEwgY2xhc3NlcyBtb3JlIGNvbXBsZXRlIGFuZCBhY2N1cmF0ZS4KKy0K Ky1CVUlMVElOX1NUTF9TVVBQT1JUICAgID0gTk8KKy0KKy0jIElmIHlvdSB1c2UgTWljcm9zb2Z0 J3MgQysrL0NMSSBsYW5ndWFnZSwgeW91IHNob3VsZCBzZXQgdGhpcyBvcHRpb24gdG8gWUVTIHRv CistIyBlbmFibGUgcGFyc2luZyBzdXBwb3J0LgorLQorLUNQUF9DTElfU1VQUE9SVCAgICAgICAg PSBOTworLQorLSMgU2V0IHRoZSBTSVBfU1VQUE9SVCB0YWcgdG8gWUVTIGlmIHlvdXIgcHJvamVj dCBjb25zaXN0cyBvZiBzaXAgc291cmNlcyBvbmx5LgorLSMgRG94eWdlbiB3aWxsIHBhcnNlIHRo ZW0gbGlrZSBub3JtYWwgQysrIGJ1dCB3aWxsIGFzc3VtZSBhbGwgY2xhc3NlcyB1c2UgcHVibGlj CistIyBpbnN0ZWFkIG9mIHByaXZhdGUgaW5oZXJpdGFuY2Ugd2hlbiBubyBleHBsaWNpdCBwcm90 ZWN0aW9uIGtleXdvcmQgaXMgcHJlc2VudC4KKy0KKy1TSVBfU1VQUE9SVCAgICAgICAgICAgID0g Tk8KKy0KKy0jIEZvciBNaWNyb3NvZnQncyBJREwgdGhlcmUgYXJlIHByb3BnZXQgYW5kIHByb3Bw dXQgYXR0cmlidXRlcyB0byBpbmRpY2F0ZSBnZXR0ZXIKKy0jIGFuZCBzZXR0ZXIgbWV0aG9kcyBm b3IgYSBwcm9wZXJ0eS4gU2V0dGluZyB0aGlzIG9wdGlvbiB0byBZRVMgKHRoZSBkZWZhdWx0KQor LSMgd2lsbCBtYWtlIGRveHlnZW4gdG8gcmVwbGFjZSB0aGUgZ2V0IGFuZCBzZXQgbWV0aG9kcyBi eSBhIHByb3BlcnR5IGluIHRoZQorLSMgZG9jdW1lbnRhdGlvbi4gVGhpcyB3aWxsIG9ubHkgd29y ayBpZiB0aGUgbWV0aG9kcyBhcmUgaW5kZWVkIGdldHRpbmcgb3IKKy0jIHNldHRpbmcgYSBzaW1w bGUgdHlwZS4gSWYgdGhpcyBpcyBub3QgdGhlIGNhc2UsIG9yIHlvdSB3YW50IHRvIHNob3cgdGhl CistIyBtZXRob2RzIGFueXdheSwgeW91IHNob3VsZCBzZXQgdGhpcyBvcHRpb24gdG8gTk8uCist CistSURMX1BST1BFUlRZX1NVUFBPUlQgICA9IFlFUworLQorLSMgSWYgbWVtYmVyIGdyb3VwaW5n IGlzIHVzZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kIHRoZSBESVNUUklCVVRFX0dST1VQX0RP QworLSMgdGFnIGlzIHNldCB0byBZRVMsIHRoZW4gZG94eWdlbiB3aWxsIHJldXNlIHRoZSBkb2N1 bWVudGF0aW9uIG9mIHRoZSBmaXJzdAorLSMgbWVtYmVyIGluIHRoZSBncm91cCAoaWYgYW55KSBm b3IgdGhlIG90aGVyIG1lbWJlcnMgb2YgdGhlIGdyb3VwLiBCeSBkZWZhdWx0CistIyBhbGwgbWVt YmVycyBvZiBhIGdyb3VwIG11c3QgYmUgZG9jdW1lbnRlZCBleHBsaWNpdGx5LgorLQorLURJU1RS SUJVVEVfR1JPVVBfRE9DICAgPSBOTworLQorLSMgU2V0IHRoZSBTVUJHUk9VUElORyB0YWcgdG8g WUVTICh0aGUgZGVmYXVsdCkgdG8gYWxsb3cgY2xhc3MgbWVtYmVyIGdyb3VwcyBvZgorLSMgdGhl IHNhbWUgdHlwZSAoZm9yIGluc3RhbmNlIGEgZ3JvdXAgb2YgcHVibGljIGZ1bmN0aW9ucykgdG8g YmUgcHV0IGFzIGEKKy0jIHN1Ymdyb3VwIG9mIHRoYXQgdHlwZSAoZS5nLiB1bmRlciB0aGUgUHVi bGljIEZ1bmN0aW9ucyBzZWN0aW9uKS4gU2V0IGl0IHRvCistIyBOTyB0byBwcmV2ZW50IHN1Ymdy b3VwaW5nLiBBbHRlcm5hdGl2ZWx5LCB0aGlzIGNhbiBiZSBkb25lIHBlciBjbGFzcyB1c2luZwor LSMgdGhlIFxub3N1Ymdyb3VwaW5nIGNvbW1hbmQuCistCistU1VCR1JPVVBJTkcgICAgICAgICAg ICA9IFlFUworLQorLSMgV2hlbiBUWVBFREVGX0hJREVTX1NUUlVDVCBpcyBlbmFibGVkLCBhIHR5 cGVkZWYgb2YgYSBzdHJ1Y3QsIHVuaW9uLCBvciBlbnVtCistIyBpcyBkb2N1bWVudGVkIGFzIHN0 cnVjdCwgdW5pb24sIG9yIGVudW0gd2l0aCB0aGUgbmFtZSBvZiB0aGUgdHlwZWRlZi4gU28KKy0j IHR5cGVkZWYgc3RydWN0IFR5cGVTIHt9IFR5cGVULCB3aWxsIGFwcGVhciBpbiB0aGUgZG9jdW1l bnRhdGlvbiBhcyBhIHN0cnVjdAorLSMgd2l0aCBuYW1lIFR5cGVULiBXaGVuIGRpc2FibGVkIHRo ZSB0eXBlZGVmIHdpbGwgYXBwZWFyIGFzIGEgbWVtYmVyIG9mIGEgZmlsZSwKKy0jIG5hbWVzcGFj ZSwgb3IgY2xhc3MuIEFuZCB0aGUgc3RydWN0IHdpbGwgYmUgbmFtZWQgVHlwZVMuIFRoaXMgY2Fu IHR5cGljYWxseQorLSMgYmUgdXNlZnVsIGZvciBDIGNvZGUgaW4gY2FzZSB0aGUgY29kaW5nIGNv bnZlbnRpb24gZGljdGF0ZXMgdGhhdCBhbGwgY29tcG91bmQKKy0jIHR5cGVzIGFyZSB0eXBlZGVm J2VkIGFuZCBvbmx5IHRoZSB0eXBlZGVmIGlzIHJlZmVyZW5jZWQsIG5ldmVyIHRoZSB0YWcgbmFt ZS4KKy0KKy1UWVBFREVGX0hJREVTX1NUUlVDVCAgID0gTk8KKy0KKy0jIFRoZSBTWU1CT0xfQ0FD SEVfU0laRSBkZXRlcm1pbmVzIHRoZSBzaXplIG9mIHRoZSBpbnRlcm5hbCBjYWNoZSB1c2UgdG8K Ky0jIGRldGVybWluZSB3aGljaCBzeW1ib2xzIHRvIGtlZXAgaW4gbWVtb3J5IGFuZCB3aGljaCB0 byBmbHVzaCB0byBkaXNrLgorLSMgV2hlbiB0aGUgY2FjaGUgaXMgZnVsbCwgbGVzcyBvZnRlbiB1 c2VkIHN5bWJvbHMgd2lsbCBiZSB3cml0dGVuIHRvIGRpc2suCistIyBGb3Igc21hbGwgdG8gbWVk aXVtIHNpemUgcHJvamVjdHMgKDwxMDAwIGlucHV0IGZpbGVzKSB0aGUgZGVmYXVsdCB2YWx1ZSBp cworLSMgcHJvYmFibHkgZ29vZCBlbm91Z2guIEZvciBsYXJnZXIgcHJvamVjdHMgYSB0b28gc21h bGwgY2FjaGUgc2l6ZSBjYW4gY2F1c2UKKy0jIGRveHlnZW4gdG8gYmUgYnVzeSBzd2FwcGluZyBz eW1ib2xzIHRvIGFuZCBmcm9tIGRpc2sgbW9zdCBvZiB0aGUgdGltZQorLSMgY2F1c2luZyBhIHNp Z25pZmljYW50IHBlcmZvcm1hbmNlIHBlbmFsaXR5LgorLSMgSWYgdGhlIHN5c3RlbSBoYXMgZW5v dWdoIHBoeXNpY2FsIG1lbW9yeSBpbmNyZWFzaW5nIHRoZSBjYWNoZSB3aWxsIGltcHJvdmUgdGhl CistIyBwZXJmb3JtYW5jZSBieSBrZWVwaW5nIG1vcmUgc3ltYm9scyBpbiBtZW1vcnkuIE5vdGUg dGhhdCB0aGUgdmFsdWUgd29ya3Mgb24KKy0jIGEgbG9nYXJpdGhtaWMgc2NhbGUgc28gaW5jcmVh c2luZyB0aGUgc2l6ZSBieSBvbmUgd2lsbCByb3VnbHkgZG91YmxlIHRoZQorLSMgbWVtb3J5IHVz YWdlLiBUaGUgY2FjaGUgc2l6ZSBpcyBnaXZlbiBieSB0aGlzIGZvcm11bGE6CistIyAyXigxNitT WU1CT0xfQ0FDSEVfU0laRSkuIFRoZSB2YWxpZCByYW5nZSBpcyAwLi45LCB0aGUgZGVmYXVsdCBp cyAwLAorLSMgY29ycmVzcG9uZGluZyB0byBhIGNhY2hlIHNpemUgb2YgMl4xNiA9IDY1NTM2IHN5 bWJvbHMKKy0KKy1TWU1CT0xfQ0FDSEVfU0laRSAgICAgID0gMAorLQorLSMtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKy0jIEJ1aWxkIHJlbGF0ZWQgY29uZmlndXJhdGlvbiBvcHRpb25zCistIy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorLQorLSMgSWYgdGhlIEVYVFJBQ1RfQUxMIHRhZyBpcyBzZXQgdG8gWUVTIGRv eHlnZW4gd2lsbCBhc3N1bWUgYWxsIGVudGl0aWVzIGluCistIyBkb2N1bWVudGF0aW9uIGFyZSBk b2N1bWVudGVkLCBldmVuIGlmIG5vIGRvY3VtZW50YXRpb24gd2FzIGF2YWlsYWJsZS4KKy0jIFBy aXZhdGUgY2xhc3MgbWVtYmVycyBhbmQgc3RhdGljIGZpbGUgbWVtYmVycyB3aWxsIGJlIGhpZGRl biB1bmxlc3MKKy0jIHRoZSBFWFRSQUNUX1BSSVZBVEUgYW5kIEVYVFJBQ1RfU1RBVElDIHRhZ3Mg YXJlIHNldCB0byBZRVMKKy0KKy1FWFRSQUNUX0FMTCAgICAgICAgICAgID0gTk8KKy0KKy0jIElm IHRoZSBFWFRSQUNUX1BSSVZBVEUgdGFnIGlzIHNldCB0byBZRVMgYWxsIHByaXZhdGUgbWVtYmVy cyBvZiBhIGNsYXNzCistIyB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBkb2N1bWVudGF0aW9uLgor LQorLUVYVFJBQ1RfUFJJVkFURSAgICAgICAgPSBOTworLQorLSMgSWYgdGhlIEVYVFJBQ1RfU1RB VElDIHRhZyBpcyBzZXQgdG8gWUVTIGFsbCBzdGF0aWMgbWVtYmVycyBvZiBhIGZpbGUKKy0jIHdp bGwgYmUgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uCistCistRVhUUkFDVF9TVEFUSUMg ICAgICAgICA9IE5PCistCistIyBJZiB0aGUgRVhUUkFDVF9MT0NBTF9DTEFTU0VTIHRhZyBpcyBz ZXQgdG8gWUVTIGNsYXNzZXMgKGFuZCBzdHJ1Y3RzKQorLSMgZGVmaW5lZCBsb2NhbGx5IGluIHNv dXJjZSBmaWxlcyB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBkb2N1bWVudGF0aW9uLgorLSMgSWYg c2V0IHRvIE5PIG9ubHkgY2xhc3NlcyBkZWZpbmVkIGluIGhlYWRlciBmaWxlcyBhcmUgaW5jbHVk ZWQuCistCistRVhUUkFDVF9MT0NBTF9DTEFTU0VTICA9IFlFUworLQorLSMgVGhpcyBmbGFnIGlz IG9ubHkgdXNlZnVsIGZvciBPYmplY3RpdmUtQyBjb2RlLiBXaGVuIHNldCB0byBZRVMgbG9jYWwK Ky0jIG1ldGhvZHMsIHdoaWNoIGFyZSBkZWZpbmVkIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBzZWN0 aW9uIGJ1dCBub3QgaW4KKy0jIHRoZSBpbnRlcmZhY2UgYXJlIGluY2x1ZGVkIGluIHRoZSBkb2N1 bWVudGF0aW9uLgorLSMgSWYgc2V0IHRvIE5PICh0aGUgZGVmYXVsdCkgb25seSBtZXRob2RzIGlu IHRoZSBpbnRlcmZhY2UgYXJlIGluY2x1ZGVkLgorLQorLUVYVFJBQ1RfTE9DQUxfTUVUSE9EUyAg PSBOTworLQorLSMgSWYgdGhpcyBmbGFnIGlzIHNldCB0byBZRVMsIHRoZSBtZW1iZXJzIG9mIGFu b255bW91cyBuYW1lc3BhY2VzIHdpbGwgYmUKKy0jIGV4dHJhY3RlZCBhbmQgYXBwZWFyIGluIHRo ZSBkb2N1bWVudGF0aW9uIGFzIGEgbmFtZXNwYWNlIGNhbGxlZAorLSMgJ2Fub255bW91c19uYW1l c3BhY2V7ZmlsZX0nLCB3aGVyZSBmaWxlIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgYmFzZQor LSMgbmFtZSBvZiB0aGUgZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSBhbm9ueW1vdXMgbmFtZXNwYWNl LiBCeSBkZWZhdWx0CistIyBhbm9ueW1vdXMgbmFtZXNwYWNlIGFyZSBoaWRkZW4uCistCistRVhU UkFDVF9BTk9OX05TUEFDRVMgICA9IE5PCistCistIyBJZiB0aGUgSElERV9VTkRPQ19NRU1CRVJT IHRhZyBpcyBzZXQgdG8gWUVTLCBEb3h5Z2VuIHdpbGwgaGlkZSBhbGwKKy0jIHVuZG9jdW1lbnRl ZCBtZW1iZXJzIG9mIGRvY3VtZW50ZWQgY2xhc3NlcywgZmlsZXMgb3IgbmFtZXNwYWNlcy4KKy0j IElmIHNldCB0byBOTyAodGhlIGRlZmF1bHQpIHRoZXNlIG1lbWJlcnMgd2lsbCBiZSBpbmNsdWRl ZCBpbiB0aGUKKy0jIHZhcmlvdXMgb3ZlcnZpZXdzLCBidXQgbm8gZG9jdW1lbnRhdGlvbiBzZWN0 aW9uIGlzIGdlbmVyYXRlZC4KKy0jIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3QgaWYgRVhUUkFD VF9BTEwgaXMgZW5hYmxlZC4KKy0KKy1ISURFX1VORE9DX01FTUJFUlMgICAgID0gTk8KKy0KKy0j IElmIHRoZSBISURFX1VORE9DX0NMQVNTRVMgdGFnIGlzIHNldCB0byBZRVMsIERveHlnZW4gd2ls bCBoaWRlIGFsbAorLSMgdW5kb2N1bWVudGVkIGNsYXNzZXMgdGhhdCBhcmUgbm9ybWFsbHkgdmlz aWJsZSBpbiB0aGUgY2xhc3MgaGllcmFyY2h5LgorLSMgSWYgc2V0IHRvIE5PICh0aGUgZGVmYXVs dCkgdGhlc2UgY2xhc3NlcyB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSB2YXJpb3VzCistIyBvdmVy dmlld3MuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3QgaWYgRVhUUkFDVF9BTEwgaXMgZW5hYmxl ZC4KKy0KKy1ISURFX1VORE9DX0NMQVNTRVMgICAgID0gTk8KKy0KKy0jIElmIHRoZSBISURFX0ZS SUVORF9DT01QT1VORFMgdGFnIGlzIHNldCB0byBZRVMsIERveHlnZW4gd2lsbCBoaWRlIGFsbAor LSMgZnJpZW5kIChjbGFzc3xzdHJ1Y3R8dW5pb24pIGRlY2xhcmF0aW9ucy4KKy0jIElmIHNldCB0 byBOTyAodGhlIGRlZmF1bHQpIHRoZXNlIGRlY2xhcmF0aW9ucyB3aWxsIGJlIGluY2x1ZGVkIGlu IHRoZQorLSMgZG9jdW1lbnRhdGlvbi4KKy0KKy1ISURFX0ZSSUVORF9DT01QT1VORFMgID0gTk8K Ky0KKy0jIElmIHRoZSBISURFX0lOX0JPRFlfRE9DUyB0YWcgaXMgc2V0IHRvIFlFUywgRG94eWdl biB3aWxsIGhpZGUgYW55CistIyBkb2N1bWVudGF0aW9uIGJsb2NrcyBmb3VuZCBpbnNpZGUgdGhl IGJvZHkgb2YgYSBmdW5jdGlvbi4KKy0jIElmIHNldCB0byBOTyAodGhlIGRlZmF1bHQpIHRoZXNl IGJsb2NrcyB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZQorLSMgZnVuY3Rpb24ncyBkZXRhaWxlZCBk b2N1bWVudGF0aW9uIGJsb2NrLgorLQorLUhJREVfSU5fQk9EWV9ET0NTICAgICAgPSBOTworLQor LSMgVGhlIElOVEVSTkFMX0RPQ1MgdGFnIGRldGVybWluZXMgaWYgZG9jdW1lbnRhdGlvbgorLSMg dGhhdCBpcyB0eXBlZCBhZnRlciBhIFxpbnRlcm5hbCBjb21tYW5kIGlzIGluY2x1ZGVkLiBJZiB0 aGUgdGFnIGlzIHNldAorLSMgdG8gTk8gKHRoZSBkZWZhdWx0KSB0aGVuIHRoZSBkb2N1bWVudGF0 aW9uIHdpbGwgYmUgZXhjbHVkZWQuCistIyBTZXQgaXQgdG8gWUVTIHRvIGluY2x1ZGUgdGhlIGlu dGVybmFsIGRvY3VtZW50YXRpb24uCistCistSU5URVJOQUxfRE9DUyAgICAgICAgICA9IE5PCist CistIyBJZiB0aGUgQ0FTRV9TRU5TRV9OQU1FUyB0YWcgaXMgc2V0IHRvIE5PIHRoZW4gRG94eWdl biB3aWxsIG9ubHkgZ2VuZXJhdGUKKy0jIGZpbGUgbmFtZXMgaW4gbG93ZXItY2FzZSBsZXR0ZXJz LiBJZiBzZXQgdG8gWUVTIHVwcGVyLWNhc2UgbGV0dGVycyBhcmUgYWxzbworLSMgYWxsb3dlZC4g VGhpcyBpcyB1c2VmdWwgaWYgeW91IGhhdmUgY2xhc3NlcyBvciBmaWxlcyB3aG9zZSBuYW1lcyBv bmx5IGRpZmZlcgorLSMgaW4gY2FzZSBhbmQgaWYgeW91ciBmaWxlIHN5c3RlbSBzdXBwb3J0cyBj YXNlIHNlbnNpdGl2ZSBmaWxlIG5hbWVzLiBXaW5kb3dzCistIyBhbmQgTWFjIHVzZXJzIGFyZSBh ZHZpc2VkIHRvIHNldCB0aGlzIG9wdGlvbiB0byBOTy4KKy0KKy1DQVNFX1NFTlNFX05BTUVTICAg ICAgID0gWUVTCistCistIyBJZiB0aGUgSElERV9TQ09QRV9OQU1FUyB0YWcgaXMgc2V0IHRvIE5P ICh0aGUgZGVmYXVsdCkgdGhlbiBEb3h5Z2VuCistIyB3aWxsIHNob3cgbWVtYmVycyB3aXRoIHRo ZWlyIGZ1bGwgY2xhc3MgYW5kIG5hbWVzcGFjZSBzY29wZXMgaW4gdGhlCistIyBkb2N1bWVudGF0 aW9uLiBJZiBzZXQgdG8gWUVTIHRoZSBzY29wZSB3aWxsIGJlIGhpZGRlbi4KKy0KKy1ISURFX1ND T1BFX05BTUVTICAgICAgID0gTk8KKy0KKy0jIElmIHRoZSBTSE9XX0lOQ0xVREVfRklMRVMgdGFn IGlzIHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KSB0aGVuIERveHlnZW4KKy0jIHdpbGwgcHV0IGEg bGlzdCBvZiB0aGUgZmlsZXMgdGhhdCBhcmUgaW5jbHVkZWQgYnkgYSBmaWxlIGluIHRoZSBkb2N1 bWVudGF0aW9uCistIyBvZiB0aGF0IGZpbGUuCistCistU0hPV19JTkNMVURFX0ZJTEVTICAgICA9 IFlFUworLQorLSMgSWYgdGhlIEZPUkNFX0xPQ0FMX0lOQ0xVREVTIHRhZyBpcyBzZXQgdG8gWUVT IHRoZW4gRG94eWdlbgorLSMgd2lsbCBsaXN0IGluY2x1ZGUgZmlsZXMgd2l0aCBkb3VibGUgcXVv dGVzIGluIHRoZSBkb2N1bWVudGF0aW9uCistIyByYXRoZXIgdGhhbiB3aXRoIHNoYXJwIGJyYWNr ZXRzLgorLQorLUZPUkNFX0xPQ0FMX0lOQ0xVREVTICAgPSBOTworLQorLSMgSWYgdGhlIElOTElO RV9JTkZPIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgdGhlbiBhIHRhZyBbaW5saW5l XQorLSMgaXMgaW5zZXJ0ZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gZm9yIGlubGluZSBtZW1iZXJz LgorLQorLUlOTElORV9JTkZPICAgICAgICAgICAgPSBZRVMKKy0KKy0jIElmIHRoZSBTT1JUX01F TUJFUl9ET0NTIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgdGhlbiBkb3h5Z2VuCist IyB3aWxsIHNvcnQgdGhlIChkZXRhaWxlZCkgZG9jdW1lbnRhdGlvbiBvZiBmaWxlIGFuZCBjbGFz cyBtZW1iZXJzCistIyBhbHBoYWJldGljYWxseSBieSBtZW1iZXIgbmFtZS4gSWYgc2V0IHRvIE5P IHRoZSBtZW1iZXJzIHdpbGwgYXBwZWFyIGluCistIyBkZWNsYXJhdGlvbiBvcmRlci4KKy0KKy1T T1JUX01FTUJFUl9ET0NTICAgICAgID0gWUVTCistCistIyBJZiB0aGUgU09SVF9CUklFRl9ET0NT IHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiB3aWxsIHNvcnQgdGhlCistIyBicmllZiBk b2N1bWVudGF0aW9uIG9mIGZpbGUsIG5hbWVzcGFjZSBhbmQgY2xhc3MgbWVtYmVycyBhbHBoYWJl dGljYWxseQorLSMgYnkgbWVtYmVyIG5hbWUuIElmIHNldCB0byBOTyAodGhlIGRlZmF1bHQpIHRo ZSBtZW1iZXJzIHdpbGwgYXBwZWFyIGluCistIyBkZWNsYXJhdGlvbiBvcmRlci4KKy0KKy1TT1JU X0JSSUVGX0RPQ1MgICAgICAgID0gTk8KKy0KKy0jIElmIHRoZSBTT1JUX01FTUJFUlNfQ1RPUlNf MVNUIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiB3aWxsIHNvcnQgdGhlIChicmllZiBh bmQgZGV0YWlsZWQpIGRvY3VtZW50YXRpb24gb2YgY2xhc3MgbWVtYmVycyBzbyB0aGF0IGNvbnN0 cnVjdG9ycyBhbmQgZGVzdHJ1Y3RvcnMgYXJlIGxpc3RlZCBmaXJzdC4gSWYgc2V0IHRvIE5PICh0 aGUgZGVmYXVsdCkgdGhlIGNvbnN0cnVjdG9ycyB3aWxsIGFwcGVhciBpbiB0aGUgcmVzcGVjdGl2 ZSBvcmRlcnMgZGVmaW5lZCBieSBTT1JUX01FTUJFUl9ET0NTIGFuZCBTT1JUX0JSSUVGX0RPQ1Mu IFRoaXMgdGFnIHdpbGwgYmUgaWdub3JlZCBmb3IgYnJpZWYgZG9jcyBpZiBTT1JUX0JSSUVGX0RP Q1MgaXMgc2V0IHRvIE5PIGFuZCBpZ25vcmVkIGZvciBkZXRhaWxlZCBkb2NzIGlmIFNPUlRfTUVN QkVSX0RPQ1MgaXMgc2V0IHRvIE5PLgorLQorLVNPUlRfTUVNQkVSU19DVE9SU18xU1QgPSBOTwor LQorLSMgSWYgdGhlIFNPUlRfR1JPVVBfTkFNRVMgdGFnIGlzIHNldCB0byBZRVMgdGhlbiBkb3h5 Z2VuIHdpbGwgc29ydCB0aGUKKy0jIGhpZXJhcmNoeSBvZiBncm91cCBuYW1lcyBpbnRvIGFscGhh YmV0aWNhbCBvcmRlci4gSWYgc2V0IHRvIE5PICh0aGUgZGVmYXVsdCkKKy0jIHRoZSBncm91cCBu YW1lcyB3aWxsIGFwcGVhciBpbiB0aGVpciBkZWZpbmVkIG9yZGVyLgorLQorLVNPUlRfR1JPVVBf TkFNRVMgICAgICAgPSBOTworLQorLSMgSWYgdGhlIFNPUlRfQllfU0NPUEVfTkFNRSB0YWcgaXMg c2V0IHRvIFlFUywgdGhlIGNsYXNzIGxpc3Qgd2lsbCBiZQorLSMgc29ydGVkIGJ5IGZ1bGx5LXF1 YWxpZmllZCBuYW1lcywgaW5jbHVkaW5nIG5hbWVzcGFjZXMuIElmIHNldCB0bworLSMgTk8gKHRo ZSBkZWZhdWx0KSwgdGhlIGNsYXNzIGxpc3Qgd2lsbCBiZSBzb3J0ZWQgb25seSBieSBjbGFzcyBu YW1lLAorLSMgbm90IGluY2x1ZGluZyB0aGUgbmFtZXNwYWNlIHBhcnQuCistIyBOb3RlOiBUaGlz IG9wdGlvbiBpcyBub3QgdmVyeSB1c2VmdWwgaWYgSElERV9TQ09QRV9OQU1FUyBpcyBzZXQgdG8g WUVTLgorLSMgTm90ZTogVGhpcyBvcHRpb24gYXBwbGllcyBvbmx5IHRvIHRoZSBjbGFzcyBsaXN0 LCBub3QgdG8gdGhlCistIyBhbHBoYWJldGljYWwgbGlzdC4KKy0KKy1TT1JUX0JZX1NDT1BFX05B TUUgICAgID0gTk8KKy0KKy0jIFRoZSBHRU5FUkFURV9UT0RPTElTVCB0YWcgY2FuIGJlIHVzZWQg dG8gZW5hYmxlIChZRVMpIG9yCistIyBkaXNhYmxlIChOTykgdGhlIHRvZG8gbGlzdC4gVGhpcyBs aXN0IGlzIGNyZWF0ZWQgYnkgcHV0dGluZyBcdG9kbworLSMgY29tbWFuZHMgaW4gdGhlIGRvY3Vt ZW50YXRpb24uCistCistR0VORVJBVEVfVE9ET0xJU1QgICAgICA9IFlFUworLQorLSMgVGhlIEdF TkVSQVRFX1RFU1RMSVNUIHRhZyBjYW4gYmUgdXNlZCB0byBlbmFibGUgKFlFUykgb3IKKy0jIGRp c2FibGUgKE5PKSB0aGUgdGVzdCBsaXN0LiBUaGlzIGxpc3QgaXMgY3JlYXRlZCBieSBwdXR0aW5n IFx0ZXN0CistIyBjb21tYW5kcyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KKy0KKy1HRU5FUkFURV9U RVNUTElTVCAgICAgID0gWUVTCistCistIyBUaGUgR0VORVJBVEVfQlVHTElTVCB0YWcgY2FuIGJl IHVzZWQgdG8gZW5hYmxlIChZRVMpIG9yCistIyBkaXNhYmxlIChOTykgdGhlIGJ1ZyBsaXN0LiBU aGlzIGxpc3QgaXMgY3JlYXRlZCBieSBwdXR0aW5nIFxidWcKKy0jIGNvbW1hbmRzIGluIHRoZSBk b2N1bWVudGF0aW9uLgorLQorLUdFTkVSQVRFX0JVR0xJU1QgICAgICAgPSBZRVMKKy0KKy0jIFRo ZSBHRU5FUkFURV9ERVBSRUNBVEVETElTVCB0YWcgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIChZRVMp IG9yCistIyBkaXNhYmxlIChOTykgdGhlIGRlcHJlY2F0ZWQgbGlzdC4gVGhpcyBsaXN0IGlzIGNy ZWF0ZWQgYnkgcHV0dGluZworLSMgXGRlcHJlY2F0ZWQgY29tbWFuZHMgaW4gdGhlIGRvY3VtZW50 YXRpb24uCistCistR0VORVJBVEVfREVQUkVDQVRFRExJU1Q9IFlFUworLQorLSMgVGhlIEVOQUJM RURfU0VDVElPTlMgdGFnIGNhbiBiZSB1c2VkIHRvIGVuYWJsZSBjb25kaXRpb25hbAorLSMgZG9j dW1lbnRhdGlvbiBzZWN0aW9ucywgbWFya2VkIGJ5IFxpZiBzZWN0aW9ubmFtZSAuLi4gXGVuZGlm LgorLQorLUVOQUJMRURfU0VDVElPTlMgICAgICAgPQorLQorLSMgVGhlIE1BWF9JTklUSUFMSVpF Ul9MSU5FUyB0YWcgZGV0ZXJtaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMKKy0jIHRo ZSBpbml0aWFsIHZhbHVlIG9mIGEgdmFyaWFibGUgb3IgZGVmaW5lIGNvbnNpc3RzIG9mIGZvciBp dCB0byBhcHBlYXIgaW4KKy0jIHRoZSBkb2N1bWVudGF0aW9uLiBJZiB0aGUgaW5pdGlhbGl6ZXIg Y29uc2lzdHMgb2YgbW9yZSBsaW5lcyB0aGFuIHNwZWNpZmllZAorLSMgaGVyZSBpdCB3aWxsIGJl IGhpZGRlbi4gVXNlIGEgdmFsdWUgb2YgMCB0byBoaWRlIGluaXRpYWxpemVycyBjb21wbGV0ZWx5 LgorLSMgVGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGluaXRpYWxpemVyIG9mIGluZGl2aWR1YWwgdmFy aWFibGVzIGFuZCBkZWZpbmVzIGluIHRoZQorLSMgZG9jdW1lbnRhdGlvbiBjYW4gYmUgY29udHJv bGxlZCB1c2luZyBcc2hvd2luaXRpYWxpemVyIG9yIFxoaWRlaW5pdGlhbGl6ZXIKKy0jIGNvbW1h bmQgaW4gdGhlIGRvY3VtZW50YXRpb24gcmVnYXJkbGVzcyBvZiB0aGlzIHNldHRpbmcuCistCist TUFYX0lOSVRJQUxJWkVSX0xJTkVTICA9IDMwCistCistIyBTZXQgdGhlIFNIT1dfVVNFRF9GSUxF UyB0YWcgdG8gTk8gdG8gZGlzYWJsZSB0aGUgbGlzdCBvZiBmaWxlcyBnZW5lcmF0ZWQKKy0jIGF0 IHRoZSBib3R0b20gb2YgdGhlIGRvY3VtZW50YXRpb24gb2YgY2xhc3NlcyBhbmQgc3RydWN0cy4g SWYgc2V0IHRvIFlFUyB0aGUKKy0jIGxpc3Qgd2lsbCBtZW50aW9uIHRoZSBmaWxlcyB0aGF0IHdl cmUgdXNlZCB0byBnZW5lcmF0ZSB0aGUgZG9jdW1lbnRhdGlvbi4KKy0KKy1TSE9XX1VTRURfRklM RVMgICAgICAgID0gWUVTCistCistIyBJZiB0aGUgc291cmNlcyBpbiB5b3VyIHByb2plY3QgYXJl IGRpc3RyaWJ1dGVkIG92ZXIgbXVsdGlwbGUgZGlyZWN0b3JpZXMKKy0jIHRoZW4gc2V0dGluZyB0 aGUgU0hPV19ESVJFQ1RPUklFUyB0YWcgdG8gWUVTIHdpbGwgc2hvdyB0aGUgZGlyZWN0b3J5IGhp ZXJhcmNoeQorLSMgaW4gdGhlIGRvY3VtZW50YXRpb24uIFRoZSBkZWZhdWx0IGlzIE5PLgorLQor LVNIT1dfRElSRUNUT1JJRVMgICAgICAgPSBOTworLQorLSMgU2V0IHRoZSBTSE9XX0ZJTEVTIHRh ZyB0byBOTyB0byBkaXNhYmxlIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBGaWxlcyBwYWdlLgorLSMg VGhpcyB3aWxsIHJlbW92ZSB0aGUgRmlsZXMgZW50cnkgZnJvbSB0aGUgUXVpY2sgSW5kZXggYW5k IGZyb20gdGhlCistIyBGb2xkZXIgVHJlZSBWaWV3IChpZiBzcGVjaWZpZWQpLiBUaGUgZGVmYXVs dCBpcyBZRVMuCistCistU0hPV19GSUxFUyAgICAgICAgICAgICA9IFlFUworLQorLSMgU2V0IHRo ZSBTSE9XX05BTUVTUEFDRVMgdGFnIHRvIE5PIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2Yg dGhlCistIyBOYW1lc3BhY2VzIHBhZ2UuCistIyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBOYW1lc3Bh Y2VzIGVudHJ5IGZyb20gdGhlIFF1aWNrIEluZGV4CistIyBhbmQgZnJvbSB0aGUgRm9sZGVyIFRy ZWUgVmlldyAoaWYgc3BlY2lmaWVkKS4gVGhlIGRlZmF1bHQgaXMgWUVTLgorLQorLVNIT1dfTkFN RVNQQUNFUyAgICAgICAgPSBZRVMKKy0KKy0jIFRoZSBGSUxFX1ZFUlNJT05fRklMVEVSIHRhZyBj YW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvZ3JhbSBvciBzY3JpcHQgdGhhdAorLSMgZG94eWdl biBzaG91bGQgaW52b2tlIHRvIGdldCB0aGUgY3VycmVudCB2ZXJzaW9uIGZvciBlYWNoIGZpbGUg KHR5cGljYWxseSBmcm9tCistIyB0aGUgdmVyc2lvbiBjb250cm9sIHN5c3RlbSkuIERveHlnZW4g d2lsbCBpbnZva2UgdGhlIHByb2dyYW0gYnkgZXhlY3V0aW5nICh2aWEKKy0jIHBvcGVuKCkpIHRo ZSBjb21tYW5kIDxjb21tYW5kPiA8aW5wdXQtZmlsZT4sIHdoZXJlIDxjb21tYW5kPiBpcyB0aGUg dmFsdWUgb2YKKy0jIHRoZSBGSUxFX1ZFUlNJT05fRklMVEVSIHRhZywgYW5kIDxpbnB1dC1maWxl PiBpcyB0aGUgbmFtZSBvZiBhbiBpbnB1dCBmaWxlCistIyBwcm92aWRlZCBieSBkb3h5Z2VuLiBX aGF0ZXZlciB0aGUgcHJvZ3JhbSB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0CistIyBpcyB1c2Vk IGFzIHRoZSBmaWxlIHZlcnNpb24uIFNlZSB0aGUgbWFudWFsIGZvciBleGFtcGxlcy4KKy0KKy1G SUxFX1ZFUlNJT05fRklMVEVSICAgID0KKy0KKy0jIFRoZSBMQVlPVVRfRklMRSB0YWcgY2FuIGJl IHVzZWQgdG8gc3BlY2lmeSBhIGxheW91dCBmaWxlIHdoaWNoIHdpbGwgYmUgcGFyc2VkIGJ5Cist IyBkb3h5Z2VuLiBUaGUgbGF5b3V0IGZpbGUgY29udHJvbHMgdGhlIGdsb2JhbCBzdHJ1Y3R1cmUg b2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQgZmlsZXMKKy0jIGluIGFuIG91dHB1dCBmb3JtYXQgaW5k ZXBlbmRlbnQgd2F5LiBUaGUgY3JlYXRlIHRoZSBsYXlvdXQgZmlsZSB0aGF0IHJlcHJlc2VudHMK Ky0jIGRveHlnZW4ncyBkZWZhdWx0cywgcnVuIGRveHlnZW4gd2l0aCB0aGUgLWwgb3B0aW9uLiBZ b3UgY2FuIG9wdGlvbmFsbHkgc3BlY2lmeSBhCistIyBmaWxlIG5hbWUgYWZ0ZXIgdGhlIG9wdGlv biwgaWYgb21pdHRlZCBEb3h5Z2VuTGF5b3V0LnhtbCB3aWxsIGJlIHVzZWQgYXMgdGhlIG5hbWUK Ky0jIG9mIHRoZSBsYXlvdXQgZmlsZS4KKy0KKy1MQVlPVVRfRklMRSAgICAgICAgICAgID0KKy0K Ky0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0 byB3YXJuaW5nIGFuZCBwcm9ncmVzcyBtZXNzYWdlcworLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0K Ky0jIFRoZSBRVUlFVCB0YWcgY2FuIGJlIHVzZWQgdG8gdHVybiBvbi9vZmYgdGhlIG1lc3NhZ2Vz IHRoYXQgYXJlIGdlbmVyYXRlZAorLSMgYnkgZG94eWdlbi4gUG9zc2libGUgdmFsdWVzIGFyZSBZ RVMgYW5kIE5PLiBJZiBsZWZ0IGJsYW5rIE5PIGlzIHVzZWQuCistCistUVVJRVQgICAgICAgICAg ICAgICAgICA9IE5PCistCistIyBUaGUgV0FSTklOR1MgdGFnIGNhbiBiZSB1c2VkIHRvIHR1cm4g b24vb2ZmIHRoZSB3YXJuaW5nIG1lc3NhZ2VzIHRoYXQgYXJlCistIyBnZW5lcmF0ZWQgYnkgZG94 eWdlbi4gUG9zc2libGUgdmFsdWVzIGFyZSBZRVMgYW5kIE5PLiBJZiBsZWZ0IGJsYW5rCistIyBO TyBpcyB1c2VkLgorLQorLVdBUk5JTkdTICAgICAgICAgICAgICAgPSBZRVMKKy0KKy0jIElmIFdB Uk5fSUZfVU5ET0NVTUVOVEVEIGlzIHNldCB0byBZRVMsIHRoZW4gZG94eWdlbiB3aWxsIGdlbmVy YXRlIHdhcm5pbmdzCistIyBmb3IgdW5kb2N1bWVudGVkIG1lbWJlcnMuIElmIEVYVFJBQ1RfQUxM IGlzIHNldCB0byBZRVMgdGhlbiB0aGlzIGZsYWcgd2lsbAorLSMgYXV0b21hdGljYWxseSBiZSBk aXNhYmxlZC4KKy0KKy1XQVJOX0lGX1VORE9DVU1FTlRFRCAgID0gWUVTCistCistIyBJZiBXQVJO X0lGX0RPQ19FUlJPUiBpcyBzZXQgdG8gWUVTLCBkb3h5Z2VuIHdpbGwgZ2VuZXJhdGUgd2Fybmlu Z3MgZm9yCistIyBwb3RlbnRpYWwgZXJyb3JzIGluIHRoZSBkb2N1bWVudGF0aW9uLCBzdWNoIGFz IG5vdCBkb2N1bWVudGluZyBzb21lCistIyBwYXJhbWV0ZXJzIGluIGEgZG9jdW1lbnRlZCBmdW5j dGlvbiwgb3IgZG9jdW1lbnRpbmcgcGFyYW1ldGVycyB0aGF0CistIyBkb24ndCBleGlzdCBvciB1 c2luZyBtYXJrdXAgY29tbWFuZHMgd3JvbmdseS4KKy0KKy1XQVJOX0lGX0RPQ19FUlJPUiAgICAg ID0gWUVTCistCistIyBUaGlzIFdBUk5fTk9fUEFSQU1ET0Mgb3B0aW9uIGNhbiBiZSBhYmxlZCB0 byBnZXQgd2FybmluZ3MgZm9yCistIyBmdW5jdGlvbnMgdGhhdCBhcmUgZG9jdW1lbnRlZCwgYnV0 IGhhdmUgbm8gZG9jdW1lbnRhdGlvbiBmb3IgdGhlaXIgcGFyYW1ldGVycworLSMgb3IgcmV0dXJu IHZhbHVlLiBJZiBzZXQgdG8gTk8gKHRoZSBkZWZhdWx0KSBkb3h5Z2VuIHdpbGwgb25seSB3YXJu IGFib3V0CistIyB3cm9uZyBvciBpbmNvbXBsZXRlIHBhcmFtZXRlciBkb2N1bWVudGF0aW9uLCBi dXQgbm90IGFib3V0IHRoZSBhYnNlbmNlIG9mCistIyBkb2N1bWVudGF0aW9uLgorLQorLVdBUk5f Tk9fUEFSQU1ET0MgICAgICAgPSBOTworLQorLSMgVGhlIFdBUk5fRk9STUFUIHRhZyBkZXRlcm1p bmVzIHRoZSBmb3JtYXQgb2YgdGhlIHdhcm5pbmcgbWVzc2FnZXMgdGhhdAorLSMgZG94eWdlbiBj YW4gcHJvZHVjZS4gVGhlIHN0cmluZyBzaG91bGQgY29udGFpbiB0aGUgJGZpbGUsICRsaW5lLCBh bmQgJHRleHQKKy0jIHRhZ3MsIHdoaWNoIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIGZpbGUgYW5k IGxpbmUgbnVtYmVyIGZyb20gd2hpY2ggdGhlCistIyB3YXJuaW5nIG9yaWdpbmF0ZWQgYW5kIHRo ZSB3YXJuaW5nIHRleHQuIE9wdGlvbmFsbHkgdGhlIGZvcm1hdCBtYXkgY29udGFpbgorLSMgJHZl cnNpb24sIHdoaWNoIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIHZlcnNpb24gb2YgdGhlIGZpbGUg KGlmIGl0IGNvdWxkCistIyBiZSBvYnRhaW5lZCB2aWEgRklMRV9WRVJTSU9OX0ZJTFRFUikKKy0K Ky1XQVJOX0ZPUk1BVCAgICAgICAgICAgID0gIiRmaWxlOiRsaW5lOiAkdGV4dCIKKy0KKy0jIFRo ZSBXQVJOX0xPR0ZJTEUgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBmaWxlIHRvIHdoaWNo IHdhcm5pbmcKKy0jIGFuZCBlcnJvciBtZXNzYWdlcyBzaG91bGQgYmUgd3JpdHRlbi4gSWYgbGVm dCBibGFuayB0aGUgb3V0cHV0IGlzIHdyaXR0ZW4KKy0jIHRvIHN0ZGVyci4KKy0KKy1XQVJOX0xP R0ZJTEUgICAgICAgICAgID0KKy0KKy0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBjb25maWd1cmF0 aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgaW5wdXQgZmlsZXMKKy0jLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCistCistIyBUaGUgSU5QVVQgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIGZpbGVz IGFuZC9vciBkaXJlY3RvcmllcyB0aGF0IGNvbnRhaW4KKy0jIGRvY3VtZW50ZWQgc291cmNlIGZp bGVzLiBZb3UgbWF5IGVudGVyIGZpbGUgbmFtZXMgbGlrZSAibXlmaWxlLmNwcCIgb3IKKy0jIGRp cmVjdG9yaWVzIGxpa2UgIi91c3Ivc3JjL215cHJvamVjdCIuIFNlcGFyYXRlIHRoZSBmaWxlcyBv ciBkaXJlY3RvcmllcworLSMgd2l0aCBzcGFjZXMuCistCistSU5QVVQgICAgICAgICAgICAgICAg ICA9CistCistIyBUaGlzIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIg ZW5jb2Rpbmcgb2YgdGhlIHNvdXJjZSBmaWxlcworLSMgdGhhdCBkb3h5Z2VuIHBhcnNlcy4gSW50 ZXJuYWxseSBkb3h5Z2VuIHVzZXMgdGhlIFVURi04IGVuY29kaW5nLCB3aGljaCBpcworLSMgYWxz byB0aGUgZGVmYXVsdCBpbnB1dCBlbmNvZGluZy4gRG94eWdlbiB1c2VzIGxpYmljb252IChvciB0 aGUgaWNvbnYgYnVpbHQKKy0jIGludG8gbGliYykgZm9yIHRoZSB0cmFuc2NvZGluZy4gU2VlIGh0 dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJpY29udiBmb3IKKy0jIHRoZSBsaXN0IG9mIHBv c3NpYmxlIGVuY29kaW5ncy4KKy0KKy1JTlBVVF9FTkNPRElORyAgICAgICAgID0gVVRGLTgKKy0K Ky0jIElmIHRoZSB2YWx1ZSBvZiB0aGUgSU5QVVQgdGFnIGNvbnRhaW5zIGRpcmVjdG9yaWVzLCB5 b3UgY2FuIHVzZSB0aGUKKy0jIEZJTEVfUEFUVEVSTlMgdGFnIHRvIHNwZWNpZnkgb25lIG9yIG1v cmUgd2lsZGNhcmQgcGF0dGVybiAobGlrZSAqLmNwcAorLSMgYW5kICouaCkgdG8gZmlsdGVyIG91 dCB0aGUgc291cmNlLWZpbGVzIGluIHRoZSBkaXJlY3Rvcmllcy4gSWYgbGVmdAorLSMgYmxhbmsg dGhlIGZvbGxvd2luZyBwYXR0ZXJucyBhcmUgdGVzdGVkOgorLSMgKi5jICouY2MgKi5jeHggKi5j cHAgKi5jKysgKi5qYXZhICouaWkgKi5peHggKi5pcHAgKi5pKysgKi5pbmwgKi5oICouaGggKi5o eHgKKy0jICouaHBwICouaCsrICouaWRsICoub2RsICouY3MgKi5waHAgKi5waHAzICouaW5jICou bSAqLm1tICoucHkgKi5mOTAKKy0KKy1GSUxFX1BBVFRFUk5TICAgICAgICAgID0KKy0KKy0jIFRo ZSBSRUNVUlNJVkUgdGFnIGNhbiBiZSB1c2VkIHRvIHR1cm4gc3BlY2lmeSB3aGV0aGVyIG9yIG5v dCBzdWJkaXJlY3RvcmllcworLSMgc2hvdWxkIGJlIHNlYXJjaGVkIGZvciBpbnB1dCBmaWxlcyBh cyB3ZWxsLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIFlFUyBhbmQgTk8uCistIyBJZiBsZWZ0IGJsYW5r IE5PIGlzIHVzZWQuCistCistUkVDVVJTSVZFICAgICAgICAgICAgICA9IE5PCistCistIyBUaGUg RVhDTFVERSB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBmaWxlcyBhbmQvb3IgZGlyZWN0b3Jp ZXMgdGhhdCBzaG91bGQKKy0jIGV4Y2x1ZGVkIGZyb20gdGhlIElOUFVUIHNvdXJjZSBmaWxlcy4g VGhpcyB3YXkgeW91IGNhbiBlYXNpbHkgZXhjbHVkZSBhCistIyBzdWJkaXJlY3RvcnkgZnJvbSBh IGRpcmVjdG9yeSB0cmVlIHdob3NlIHJvb3QgaXMgc3BlY2lmaWVkIHdpdGggdGhlIElOUFVUIHRh Zy4KKy0KKy1FWENMVURFICAgICAgICAgICAgICAgID0KKy0KKy0jIFRoZSBFWENMVURFX1NZTUxJ TktTIHRhZyBjYW4gYmUgdXNlZCBzZWxlY3Qgd2hldGhlciBvciBub3QgZmlsZXMgb3IKKy0jIGRp cmVjdG9yaWVzIHRoYXQgYXJlIHN5bWJvbGljIGxpbmtzIChhIFVuaXggZmlsZXN5c3RlbSBmZWF0 dXJlKSBhcmUgZXhjbHVkZWQKKy0jIGZyb20gdGhlIGlucHV0LgorLQorLUVYQ0xVREVfU1lNTElO S1MgICAgICAgPSBOTworLQorLSMgSWYgdGhlIHZhbHVlIG9mIHRoZSBJTlBVVCB0YWcgY29udGFp bnMgZGlyZWN0b3JpZXMsIHlvdSBjYW4gdXNlIHRoZQorLSMgRVhDTFVERV9QQVRURVJOUyB0YWcg dG8gc3BlY2lmeSBvbmUgb3IgbW9yZSB3aWxkY2FyZCBwYXR0ZXJucyB0byBleGNsdWRlCistIyBj ZXJ0YWluIGZpbGVzIGZyb20gdGhvc2UgZGlyZWN0b3JpZXMuIE5vdGUgdGhhdCB0aGUgd2lsZGNh cmRzIGFyZSBtYXRjaGVkCistIyBhZ2FpbnN0IHRoZSBmaWxlIHdpdGggYWJzb2x1dGUgcGF0aCwg c28gdG8gZXhjbHVkZSBhbGwgdGVzdCBkaXJlY3RvcmllcworLSMgZm9yIGV4YW1wbGUgdXNlIHRo ZSBwYXR0ZXJuICovdGVzdC8qCistCistRVhDTFVERV9QQVRURVJOUyAgICAgICA9CistCistIyBU aGUgRVhDTFVERV9TWU1CT0xTIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IG9uZSBvciBtb3Jl IHN5bWJvbCBuYW1lcworLSMgKG5hbWVzcGFjZXMsIGNsYXNzZXMsIGZ1bmN0aW9ucywgZXRjLikg dGhhdCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0aGUKKy0jIG91dHB1dC4gVGhlIHN5bWJvbCBu YW1lIGNhbiBiZSBhIGZ1bGx5IHF1YWxpZmllZCBuYW1lLCBhIHdvcmQsIG9yIGlmIHRoZQorLSMg d2lsZGNhcmQgKiBpcyB1c2VkLCBhIHN1YnN0cmluZy4gRXhhbXBsZXM6IEFOYW1lc3BhY2UsIEFD bGFzcywKKy0jIEFDbGFzczo6QU5hbWVzcGFjZSwgQU5hbWVzcGFjZTo6KlRlc3QKKy0KKy1FWENM VURFX1NZTUJPTFMgICAgICAgID0KKy0KKy0jIFRoZSBFWEFNUExFX1BBVEggdGFnIGNhbiBiZSB1 c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgZmlsZXMgb3IKKy0jIGRpcmVjdG9yaWVzIHRoYXQg Y29udGFpbiBleGFtcGxlIGNvZGUgZnJhZ21lbnRzIHRoYXQgYXJlIGluY2x1ZGVkIChzZWUKKy0j IHRoZSBcaW5jbHVkZSBjb21tYW5kKS4KKy0KKy1FWEFNUExFX1BBVEggICAgICAgICAgID0KKy0K Ky0jIElmIHRoZSB2YWx1ZSBvZiB0aGUgRVhBTVBMRV9QQVRIIHRhZyBjb250YWlucyBkaXJlY3Rv cmllcywgeW91IGNhbiB1c2UgdGhlCistIyBFWEFNUExFX1BBVFRFUk5TIHRhZyB0byBzcGVjaWZ5 IG9uZSBvciBtb3JlIHdpbGRjYXJkIHBhdHRlcm4gKGxpa2UgKi5jcHAKKy0jIGFuZCAqLmgpIHRv IGZpbHRlciBvdXQgdGhlIHNvdXJjZS1maWxlcyBpbiB0aGUgZGlyZWN0b3JpZXMuIElmIGxlZnQK Ky0jIGJsYW5rIGFsbCBmaWxlcyBhcmUgaW5jbHVkZWQuCistCistRVhBTVBMRV9QQVRURVJOUyAg ICAgICA9CistCistIyBJZiB0aGUgRVhBTVBMRV9SRUNVUlNJVkUgdGFnIGlzIHNldCB0byBZRVMg dGhlbiBzdWJkaXJlY3RvcmllcyB3aWxsIGJlCistIyBzZWFyY2hlZCBmb3IgaW5wdXQgZmlsZXMg dG8gYmUgdXNlZCB3aXRoIHRoZSBcaW5jbHVkZSBvciBcZG9udGluY2x1ZGUKKy0jIGNvbW1hbmRz IGlycmVzcGVjdGl2ZSBvZiB0aGUgdmFsdWUgb2YgdGhlIFJFQ1VSU0lWRSB0YWcuCistIyBQb3Nz aWJsZSB2YWx1ZXMgYXJlIFlFUyBhbmQgTk8uIElmIGxlZnQgYmxhbmsgTk8gaXMgdXNlZC4KKy0K Ky1FWEFNUExFX1JFQ1VSU0lWRSAgICAgID0gTk8KKy0KKy0jIFRoZSBJTUFHRV9QQVRIIHRhZyBj YW4gYmUgdXNlZCB0byBzcGVjaWZ5IG9uZSBvciBtb3JlIGZpbGVzIG9yCistIyBkaXJlY3Rvcmll cyB0aGF0IGNvbnRhaW4gaW1hZ2UgdGhhdCBhcmUgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRp b24gKHNlZQorLSMgdGhlIFxpbWFnZSBjb21tYW5kKS4KKy0KKy1JTUFHRV9QQVRIICAgICAgICAg ICAgID0KKy0KKy0jIFRoZSBJTlBVVF9GSUxURVIgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkg YSBwcm9ncmFtIHRoYXQgZG94eWdlbiBzaG91bGQKKy0jIGludm9rZSB0byBmaWx0ZXIgZm9yIGVh Y2ggaW5wdXQgZmlsZS4gRG94eWdlbiB3aWxsIGludm9rZSB0aGUgZmlsdGVyIHByb2dyYW0KKy0j IGJ5IGV4ZWN1dGluZyAodmlhIHBvcGVuKCkpIHRoZSBjb21tYW5kIDxmaWx0ZXI+IDxpbnB1dC1m aWxlPiwgd2hlcmUgPGZpbHRlcj4KKy0jIGlzIHRoZSB2YWx1ZSBvZiB0aGUgSU5QVVRfRklMVEVS IHRhZywgYW5kIDxpbnB1dC1maWxlPiBpcyB0aGUgbmFtZSBvZiBhbgorLSMgaW5wdXQgZmlsZS4g RG94eWdlbiB3aWxsIHRoZW4gdXNlIHRoZSBvdXRwdXQgdGhhdCB0aGUgZmlsdGVyIHByb2dyYW0g d3JpdGVzCistIyB0byBzdGFuZGFyZCBvdXRwdXQuCistIyBJZiBGSUxURVJfUEFUVEVSTlMgaXMg c3BlY2lmaWVkLCB0aGlzIHRhZyB3aWxsIGJlCistIyBpZ25vcmVkLgorLQorLUlOUFVUX0ZJTFRF UiAgICAgICAgICAgPQorLQorLSMgVGhlIEZJTFRFUl9QQVRURVJOUyB0YWcgY2FuIGJlIHVzZWQg dG8gc3BlY2lmeSBmaWx0ZXJzIG9uIGEgcGVyIGZpbGUgcGF0dGVybgorLSMgYmFzaXMuCistIyBE b3h5Z2VuIHdpbGwgY29tcGFyZSB0aGUgZmlsZSBuYW1lIHdpdGggZWFjaCBwYXR0ZXJuIGFuZCBh cHBseSB0aGUKKy0jIGZpbHRlciBpZiB0aGVyZSBpcyBhIG1hdGNoLgorLSMgVGhlIGZpbHRlcnMg YXJlIGEgbGlzdCBvZiB0aGUgZm9ybToKKy0jIHBhdHRlcm49ZmlsdGVyIChsaWtlICouY3BwPW15 X2NwcF9maWx0ZXIpLiBTZWUgSU5QVVRfRklMVEVSIGZvciBmdXJ0aGVyCistIyBpbmZvIG9uIGhv dyBmaWx0ZXJzIGFyZSB1c2VkLiBJZiBGSUxURVJfUEFUVEVSTlMgaXMgZW1wdHksIElOUFVUX0ZJ TFRFUgorLSMgaXMgYXBwbGllZCB0byBhbGwgZmlsZXMuCistCistRklMVEVSX1BBVFRFUk5TICAg ICAgICA9CistCistIyBJZiB0aGUgRklMVEVSX1NPVVJDRV9GSUxFUyB0YWcgaXMgc2V0IHRvIFlF UywgdGhlIGlucHV0IGZpbHRlciAoaWYgc2V0IHVzaW5nCistIyBJTlBVVF9GSUxURVIpIHdpbGwg YmUgdXNlZCB0byBmaWx0ZXIgdGhlIGlucHV0IGZpbGVzIHdoZW4gcHJvZHVjaW5nIHNvdXJjZQor LSMgZmlsZXMgdG8gYnJvd3NlIChpLmUuIHdoZW4gU09VUkNFX0JST1dTRVIgaXMgc2V0IHRvIFlF UykuCistCistRklMVEVSX1NPVVJDRV9GSUxFUyAgICA9IE5PCistCistIy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorLSMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gc291cmNlIGJyb3dzaW5n CistIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQorLSMgSWYgdGhlIFNPVVJDRV9CUk9XU0VSIHRhZyBp cyBzZXQgdG8gWUVTIHRoZW4gYSBsaXN0IG9mIHNvdXJjZSBmaWxlcyB3aWxsCistIyBiZSBnZW5l cmF0ZWQuIERvY3VtZW50ZWQgZW50aXRpZXMgd2lsbCBiZSBjcm9zcy1yZWZlcmVuY2VkIHdpdGgg dGhlc2Ugc291cmNlcy4KKy0jIE5vdGU6IFRvIGdldCByaWQgb2YgYWxsIHNvdXJjZSBjb2RlIGlu IHRoZSBnZW5lcmF0ZWQgb3V0cHV0LCBtYWtlIHN1cmUgYWxzbworLSMgVkVSQkFUSU1fSEVBREVS UyBpcyBzZXQgdG8gTk8uCistCistU09VUkNFX0JST1dTRVIgICAgICAgICA9IE5PCistCistIyBT ZXR0aW5nIHRoZSBJTkxJTkVfU09VUkNFUyB0YWcgdG8gWUVTIHdpbGwgaW5jbHVkZSB0aGUgYm9k eQorLSMgb2YgZnVuY3Rpb25zIGFuZCBjbGFzc2VzIGRpcmVjdGx5IGluIHRoZSBkb2N1bWVudGF0 aW9uLgorLQorLUlOTElORV9TT1VSQ0VTICAgICAgICAgPSBOTworLQorLSMgU2V0dGluZyB0aGUg U1RSSVBfQ09ERV9DT01NRU5UUyB0YWcgdG8gWUVTICh0aGUgZGVmYXVsdCkgd2lsbCBpbnN0cnVj dAorLSMgZG94eWdlbiB0byBoaWRlIGFueSBzcGVjaWFsIGNvbW1lbnQgYmxvY2tzIGZyb20gZ2Vu ZXJhdGVkIHNvdXJjZSBjb2RlCistIyBmcmFnbWVudHMuIE5vcm1hbCBDIGFuZCBDKysgY29tbWVu dHMgd2lsbCBhbHdheXMgcmVtYWluIHZpc2libGUuCistCistU1RSSVBfQ09ERV9DT01NRU5UUyAg ICA9IFlFUworLQorLSMgSWYgdGhlIFJFRkVSRU5DRURfQllfUkVMQVRJT04gdGFnIGlzIHNldCB0 byBZRVMKKy0jIHRoZW4gZm9yIGVhY2ggZG9jdW1lbnRlZCBmdW5jdGlvbiBhbGwgZG9jdW1lbnRl ZAorLSMgZnVuY3Rpb25zIHJlZmVyZW5jaW5nIGl0IHdpbGwgYmUgbGlzdGVkLgorLQorLVJFRkVS RU5DRURfQllfUkVMQVRJT04gPSBOTworLQorLSMgSWYgdGhlIFJFRkVSRU5DRVNfUkVMQVRJT04g dGFnIGlzIHNldCB0byBZRVMKKy0jIHRoZW4gZm9yIGVhY2ggZG9jdW1lbnRlZCBmdW5jdGlvbiBh bGwgZG9jdW1lbnRlZCBlbnRpdGllcworLSMgY2FsbGVkL3VzZWQgYnkgdGhhdCBmdW5jdGlvbiB3 aWxsIGJlIGxpc3RlZC4KKy0KKy1SRUZFUkVOQ0VTX1JFTEFUSU9OICAgID0gTk8KKy0KKy0jIElm IHRoZSBSRUZFUkVOQ0VTX0xJTktfU09VUkNFIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVs dCkKKy0jIGFuZCBTT1VSQ0VfQlJPV1NFUiB0YWcgaXMgc2V0IHRvIFlFUywgdGhlbiB0aGUgaHlw ZXJsaW5rcyBmcm9tCistIyBmdW5jdGlvbnMgaW4gUkVGRVJFTkNFU19SRUxBVElPTiBhbmQgUkVG RVJFTkNFRF9CWV9SRUxBVElPTiBsaXN0cyB3aWxsCistIyBsaW5rIHRvIHRoZSBzb3VyY2UgY29k ZS4KKy0jIE90aGVyd2lzZSB0aGV5IHdpbGwgbGluayB0byB0aGUgZG9jdW1lbnRhdGlvbi4KKy0K Ky1SRUZFUkVOQ0VTX0xJTktfU09VUkNFID0gWUVTCistCistIyBJZiB0aGUgVVNFX0hUQUdTIHRh ZyBpcyBzZXQgdG8gWUVTIHRoZW4gdGhlIHJlZmVyZW5jZXMgdG8gc291cmNlIGNvZGUKKy0jIHdp bGwgcG9pbnQgdG8gdGhlIEhUTUwgZ2VuZXJhdGVkIGJ5IHRoZSBodGFncygxKSB0b29sIGluc3Rl YWQgb2YgZG94eWdlbgorLSMgYnVpbHQtaW4gc291cmNlIGJyb3dzZXIuIFRoZSBodGFncyB0b29s IGlzIHBhcnQgb2YgR05VJ3MgZ2xvYmFsIHNvdXJjZQorLSMgdGFnZ2luZyBzeXN0ZW0gKHNlZSBo dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2xvYmFsL2dsb2JhbC5odG1sKS4gWW91CistIyB3 aWxsIG5lZWQgdmVyc2lvbiA0LjguNiBvciBoaWdoZXIuCistCistVVNFX0hUQUdTICAgICAgICAg ICAgICA9IE5PCistCistIyBJZiB0aGUgVkVSQkFUSU1fSEVBREVSUyB0YWcgaXMgc2V0IHRvIFlF UyAodGhlIGRlZmF1bHQpIHRoZW4gRG94eWdlbgorLSMgd2lsbCBnZW5lcmF0ZSBhIHZlcmJhdGlt IGNvcHkgb2YgdGhlIGhlYWRlciBmaWxlIGZvciBlYWNoIGNsYXNzIGZvcgorLSMgd2hpY2ggYW4g aW5jbHVkZSBpcyBzcGVjaWZpZWQuIFNldCB0byBOTyB0byBkaXNhYmxlIHRoaXMuCistCistVkVS QkFUSU1fSEVBREVSUyAgICAgICA9IFlFUworLQorLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIGNv bmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRoZSBhbHBoYWJldGljYWwgY2xhc3MgaW5k ZXgKKy0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistCistIyBJZiB0aGUgQUxQSEFCRVRJQ0FMX0lOREVY IHRhZyBpcyBzZXQgdG8gWUVTLCBhbiBhbHBoYWJldGljYWwgaW5kZXgKKy0jIG9mIGFsbCBjb21w b3VuZHMgd2lsbCBiZSBnZW5lcmF0ZWQuIEVuYWJsZSB0aGlzIGlmIHRoZSBwcm9qZWN0CistIyBj b250YWlucyBhIGxvdCBvZiBjbGFzc2VzLCBzdHJ1Y3RzLCB1bmlvbnMgb3IgaW50ZXJmYWNlcy4K Ky0KKy1BTFBIQUJFVElDQUxfSU5ERVggICAgID0gTk8KKy0KKy0jIElmIHRoZSBhbHBoYWJldGlj YWwgaW5kZXggaXMgZW5hYmxlZCAoc2VlIEFMUEhBQkVUSUNBTF9JTkRFWCkgdGhlbgorLSMgdGhl IENPTFNfSU5fQUxQSEFfSU5ERVggdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIG51bWJl ciBvZiBjb2x1bW5zCistIyBpbiB3aGljaCB0aGlzIGxpc3Qgd2lsbCBiZSBzcGxpdCAoY2FuIGJl IGEgbnVtYmVyIGluIHRoZSByYW5nZSBbMS4uMjBdKQorLQorLUNPTFNfSU5fQUxQSEFfSU5ERVgg ICAgPSA1CistCistIyBJbiBjYXNlIGFsbCBjbGFzc2VzIGluIGEgcHJvamVjdCBzdGFydCB3aXRo IGEgY29tbW9uIHByZWZpeCwgYWxsCistIyBjbGFzc2VzIHdpbGwgYmUgcHV0IHVuZGVyIHRoZSBz YW1lIGhlYWRlciBpbiB0aGUgYWxwaGFiZXRpY2FsIGluZGV4LgorLSMgVGhlIElHTk9SRV9QUkVG SVggdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgcHJlZml4ZXMgdGhhdAor LSMgc2hvdWxkIGJlIGlnbm9yZWQgd2hpbGUgZ2VuZXJhdGluZyB0aGUgaW5kZXggaGVhZGVycy4K Ky0KKy1JR05PUkVfUFJFRklYICAgICAgICAgID0KKy0KKy0jLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist IyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgSFRNTCBvdXRwdXQKKy0jLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCistCistIyBJZiB0aGUgR0VORVJBVEVfSFRNTCB0YWcgaXMgc2V0IHRv IFlFUyAodGhlIGRlZmF1bHQpIERveHlnZW4gd2lsbAorLSMgZ2VuZXJhdGUgSFRNTCBvdXRwdXQu CistCistR0VORVJBVEVfSFRNTCAgICAgICAgICA9IFlFUworLQorLSMgVGhlIEhUTUxfT1VUUFVU IHRhZyBpcyB1c2VkIHRvIHNwZWNpZnkgd2hlcmUgdGhlIEhUTUwgZG9jcyB3aWxsIGJlIHB1dC4K Ky0jIElmIGEgcmVsYXRpdmUgcGF0aCBpcyBlbnRlcmVkIHRoZSB2YWx1ZSBvZiBPVVRQVVRfRElS RUNUT1JZIHdpbGwgYmUKKy0jIHB1dCBpbiBmcm9udCBvZiBpdC4gSWYgbGVmdCBibGFuayBgaHRt bCcgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHBhdGguCistCistSFRNTF9PVVRQVVQgICAg ICAgICAgICA9IGh0bWwKKy0KKy0jIFRoZSBIVE1MX0ZJTEVfRVhURU5TSU9OIHRhZyBjYW4gYmUg dXNlZCB0byBzcGVjaWZ5IHRoZSBmaWxlIGV4dGVuc2lvbiBmb3IKKy0jIGVhY2ggZ2VuZXJhdGVk IEhUTUwgcGFnZSAoZm9yIGV4YW1wbGU6IC5odG0sLnBocCwuYXNwKS4gSWYgaXQgaXMgbGVmdCBi bGFuaworLSMgZG94eWdlbiB3aWxsIGdlbmVyYXRlIGZpbGVzIHdpdGggLmh0bWwgZXh0ZW5zaW9u LgorLQorLUhUTUxfRklMRV9FWFRFTlNJT04gICAgPSAuaHRtbAorLQorLSMgVGhlIEhUTUxfSEVB REVSIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcGVyc29uYWwgSFRNTCBoZWFkZXIgZm9y CistIyBlYWNoIGdlbmVyYXRlZCBIVE1MIHBhZ2UuIElmIGl0IGlzIGxlZnQgYmxhbmsgZG94eWdl biB3aWxsIGdlbmVyYXRlIGEKKy0jIHN0YW5kYXJkIGhlYWRlci4KKy0KKy1IVE1MX0hFQURFUiAg ICAgICAgICAgID0KKy0KKy0jIFRoZSBIVE1MX0ZPT1RFUiB0YWcgY2FuIGJlIHVzZWQgdG8gc3Bl Y2lmeSBhIHBlcnNvbmFsIEhUTUwgZm9vdGVyIGZvcgorLSMgZWFjaCBnZW5lcmF0ZWQgSFRNTCBw YWdlLiBJZiBpdCBpcyBsZWZ0IGJsYW5rIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSBhCistIyBzdGFu ZGFyZCBmb290ZXIuCistCistSFRNTF9GT09URVIgICAgICAgICAgICA9CistCistIyBUaGUgSFRN TF9TVFlMRVNIRUVUIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgdXNlci1kZWZpbmVkIGNh c2NhZGluZworLSMgc3R5bGUgc2hlZXQgdGhhdCBpcyB1c2VkIGJ5IGVhY2ggSFRNTCBwYWdlLiBJ dCBjYW4gYmUgdXNlZCB0bworLSMgZmluZS10dW5lIHRoZSBsb29rIG9mIHRoZSBIVE1MIG91dHB1 dC4gSWYgdGhlIHRhZyBpcyBsZWZ0IGJsYW5rIGRveHlnZW4KKy0jIHdpbGwgZ2VuZXJhdGUgYSBk ZWZhdWx0IHN0eWxlIHNoZWV0LiBOb3RlIHRoYXQgZG94eWdlbiB3aWxsIHRyeSB0byBjb3B5Cist IyB0aGUgc3R5bGUgc2hlZXQgZmlsZSB0byB0aGUgSFRNTCBvdXRwdXQgZGlyZWN0b3J5LCBzbyBk b24ndCBwdXQgeW91ciBvd24KKy0jIHN0eWxlc2hlZXQgaW4gdGhlIEhUTUwgb3V0cHV0IGRpcmVj dG9yeSBhcyB3ZWxsLCBvciBpdCB3aWxsIGJlIGVyYXNlZCEKKy0KKy1IVE1MX1NUWUxFU0hFRVQg ICAgICAgID0KKy0KKy0jIElmIHRoZSBIVE1MX1RJTUVTVEFNUCB0YWcgaXMgc2V0IHRvIFlFUyB0 aGVuIHRoZSBmb290ZXIgb2YgZWFjaCBnZW5lcmF0ZWQgSFRNTAorLSMgcGFnZSB3aWxsIGNvbnRh aW4gdGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgcGFnZSB3YXMgZ2VuZXJhdGVkLiBTZXR0aW5n CistIyB0aGlzIHRvIE5PIGNhbiBoZWxwIHdoZW4gY29tcGFyaW5nIHRoZSBvdXRwdXQgb2YgbXVs dGlwbGUgcnVucy4KKy0KKy1IVE1MX1RJTUVTVEFNUCAgICAgICAgID0gWUVTCistCistIyBJZiB0 aGUgSFRNTF9BTElHTl9NRU1CRVJTIHRhZyBpcyBzZXQgdG8gWUVTLCB0aGUgbWVtYmVycyBvZiBj bGFzc2VzLAorLSMgZmlsZXMgb3IgbmFtZXNwYWNlcyB3aWxsIGJlIGFsaWduZWQgaW4gSFRNTCB1 c2luZyB0YWJsZXMuIElmIHNldCB0bworLSMgTk8gYSBidWxsZXQgbGlzdCB3aWxsIGJlIHVzZWQu CistCistSFRNTF9BTElHTl9NRU1CRVJTICAgICA9IFlFUworLQorLSMgSWYgdGhlIEhUTUxfRFlO QU1JQ19TRUNUSU9OUyB0YWcgaXMgc2V0IHRvIFlFUyB0aGVuIHRoZSBnZW5lcmF0ZWQgSFRNTAor LSMgZG9jdW1lbnRhdGlvbiB3aWxsIGNvbnRhaW4gc2VjdGlvbnMgdGhhdCBjYW4gYmUgaGlkZGVu IGFuZCBzaG93biBhZnRlciB0aGUKKy0jIHBhZ2UgaGFzIGxvYWRlZC4gRm9yIHRoaXMgdG8gd29y ayBhIGJyb3dzZXIgdGhhdCBzdXBwb3J0cworLSMgSmF2YVNjcmlwdCBhbmQgREhUTUwgaXMgcmVx dWlyZWQgKGZvciBpbnN0YW5jZSBNb3ppbGxhIDEuMCssIEZpcmVmb3gKKy0jIE5ldHNjYXBlIDYu MCssIEludGVybmV0IGV4cGxvcmVyIDUuMCssIEtvbnF1ZXJvciwgb3IgU2FmYXJpKS4KKy0KKy1I VE1MX0RZTkFNSUNfU0VDVElPTlMgID0gTk8KKy0KKy0jIElmIHRoZSBHRU5FUkFURV9ET0NTRVQg dGFnIGlzIHNldCB0byBZRVMsIGFkZGl0aW9uYWwgaW5kZXggZmlsZXMKKy0jIHdpbGwgYmUgZ2Vu ZXJhdGVkIHRoYXQgY2FuIGJlIHVzZWQgYXMgaW5wdXQgZm9yIEFwcGxlJ3MgWGNvZGUgMworLSMg aW50ZWdyYXRlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgaW50cm9kdWNlZCB3aXRoIE9TWCAx MC41IChMZW9wYXJkKS4KKy0jIFRvIGNyZWF0ZSBhIGRvY3VtZW50YXRpb24gc2V0LCBkb3h5Z2Vu IHdpbGwgZ2VuZXJhdGUgYSBNYWtlZmlsZSBpbiB0aGUKKy0jIEhUTUwgb3V0cHV0IGRpcmVjdG9y eS4gUnVubmluZyBtYWtlIHdpbGwgcHJvZHVjZSB0aGUgZG9jc2V0IGluIHRoYXQKKy0jIGRpcmVj dG9yeSBhbmQgcnVubmluZyAibWFrZSBpbnN0YWxsIiB3aWxsIGluc3RhbGwgdGhlIGRvY3NldCBp bgorLSMgfi9MaWJyYXJ5L0RldmVsb3Blci9TaGFyZWQvRG9jdW1lbnRhdGlvbi9Eb2NTZXRzIHNv IHRoYXQgWGNvZGUgd2lsbCBmaW5kCistIyBpdCBhdCBzdGFydHVwLgorLSMgU2VlIGh0dHA6Ly9k ZXZlbG9wZXIuYXBwbGUuY29tL3Rvb2xzL2NyZWF0aW5nZG9jc2V0c3dpdGhkb3h5Z2VuLmh0bWwg Zm9yIG1vcmUgaW5mb3JtYXRpb24uCistCistR0VORVJBVEVfRE9DU0VUICAgICAgICA9IE5PCist CistIyBXaGVuIEdFTkVSQVRFX0RPQ1NFVCB0YWcgaXMgc2V0IHRvIFlFUywgdGhpcyB0YWcgZGV0 ZXJtaW5lcyB0aGUgbmFtZSBvZiB0aGUKKy0jIGZlZWQuIEEgZG9jdW1lbnRhdGlvbiBmZWVkIHBy b3ZpZGVzIGFuIHVtYnJlbGxhIHVuZGVyIHdoaWNoIG11bHRpcGxlCistIyBkb2N1bWVudGF0aW9u IHNldHMgZnJvbSBhIHNpbmdsZSBwcm92aWRlciAoc3VjaCBhcyBhIGNvbXBhbnkgb3IgcHJvZHVj dCBzdWl0ZSkKKy0jIGNhbiBiZSBncm91cGVkLgorLQorLURPQ1NFVF9GRUVETkFNRSAgICAgICAg PSAiRG94eWdlbiBnZW5lcmF0ZWQgZG9jcyIKKy0KKy0jIFdoZW4gR0VORVJBVEVfRE9DU0VUIHRh ZyBpcyBzZXQgdG8gWUVTLCB0aGlzIHRhZyBzcGVjaWZpZXMgYSBzdHJpbmcgdGhhdAorLSMgc2hv dWxkIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBkb2N1bWVudGF0aW9uIHNldCBidW5kbGUuIFRoaXMg c2hvdWxkIGJlIGEKKy0jIHJldmVyc2UgZG9tYWluLW5hbWUgc3R5bGUgc3RyaW5nLCBlLmcuIGNv bS5teWNvbXBhbnkuTXlEb2NTZXQuIERveHlnZW4KKy0jIHdpbGwgYXBwZW5kIC5kb2NzZXQgdG8g dGhlIG5hbWUuCistCistRE9DU0VUX0JVTkRMRV9JRCAgICAgICA9IG9yZy5kb3h5Z2VuLlByb2pl Y3QKKy0KKy0jIElmIHRoZSBHRU5FUkFURV9IVE1MSEVMUCB0YWcgaXMgc2V0IHRvIFlFUywgYWRk aXRpb25hbCBpbmRleCBmaWxlcworLSMgd2lsbCBiZSBnZW5lcmF0ZWQgdGhhdCBjYW4gYmUgdXNl ZCBhcyBpbnB1dCBmb3IgdG9vbHMgbGlrZSB0aGUKKy0jIE1pY3Jvc29mdCBIVE1MIGhlbHAgd29y a3Nob3AgdG8gZ2VuZXJhdGUgYSBjb21waWxlZCBIVE1MIGhlbHAgZmlsZSAoLmNobSkKKy0jIG9m IHRoZSBnZW5lcmF0ZWQgSFRNTCBkb2N1bWVudGF0aW9uLgorLQorLUdFTkVSQVRFX0hUTUxIRUxQ ICAgICAgPSBOTworLQorLSMgSWYgdGhlIEdFTkVSQVRFX0hUTUxIRUxQIHRhZyBpcyBzZXQgdG8g WUVTLCB0aGUgQ0hNX0ZJTEUgdGFnIGNhbgorLSMgYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBmaWxl IG5hbWUgb2YgdGhlIHJlc3VsdGluZyAuY2htIGZpbGUuIFlvdQorLSMgY2FuIGFkZCBhIHBhdGgg aW4gZnJvbnQgb2YgdGhlIGZpbGUgaWYgdGhlIHJlc3VsdCBzaG91bGQgbm90IGJlCistIyB3cml0 dGVuIHRvIHRoZSBodG1sIG91dHB1dCBkaXJlY3RvcnkuCistCistQ0hNX0ZJTEUgICAgICAgICAg ICAgICA9CistCistIyBJZiB0aGUgR0VORVJBVEVfSFRNTEhFTFAgdGFnIGlzIHNldCB0byBZRVMs IHRoZSBISENfTE9DQVRJT04gdGFnIGNhbgorLSMgYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBsb2Nh dGlvbiAoYWJzb2x1dGUgcGF0aCBpbmNsdWRpbmcgZmlsZSBuYW1lKSBvZgorLSMgdGhlIEhUTUwg aGVscCBjb21waWxlciAoaGhjLmV4ZSkuIElmIG5vbi1lbXB0eSBkb3h5Z2VuIHdpbGwgdHJ5IHRv IHJ1bgorLSMgdGhlIEhUTUwgaGVscCBjb21waWxlciBvbiB0aGUgZ2VuZXJhdGVkIGluZGV4Lmho cC4KKy0KKy1ISENfTE9DQVRJT04gICAgICAgICAgID0KKy0KKy0jIElmIHRoZSBHRU5FUkFURV9I VE1MSEVMUCB0YWcgaXMgc2V0IHRvIFlFUywgdGhlIEdFTkVSQVRFX0NISSBmbGFnCistIyBjb250 cm9scyBpZiBhIHNlcGFyYXRlIC5jaGkgaW5kZXggZmlsZSBpcyBnZW5lcmF0ZWQgKFlFUykgb3Ig dGhhdAorLSMgaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBtYXN0ZXIgLmNobSBmaWxlIChO TykuCistCistR0VORVJBVEVfQ0hJICAgICAgICAgICA9IE5PCistCistIyBJZiB0aGUgR0VORVJB VEVfSFRNTEhFTFAgdGFnIGlzIHNldCB0byBZRVMsIHRoZSBDSE1fSU5ERVhfRU5DT0RJTkcKKy0j IGlzIHVzZWQgdG8gZW5jb2RlIEh0bWxIZWxwIGluZGV4IChoaGspLCBjb250ZW50IChoaGMpIGFu ZCBwcm9qZWN0IGZpbGUKKy0jIGNvbnRlbnQuCistCistQ0hNX0lOREVYX0VOQ09ESU5HICAgICA9 CistCistIyBJZiB0aGUgR0VORVJBVEVfSFRNTEhFTFAgdGFnIGlzIHNldCB0byBZRVMsIHRoZSBC SU5BUllfVE9DIGZsYWcKKy0jIGNvbnRyb2xzIHdoZXRoZXIgYSBiaW5hcnkgdGFibGUgb2YgY29u dGVudHMgaXMgZ2VuZXJhdGVkIChZRVMpIG9yIGEKKy0jIG5vcm1hbCB0YWJsZSBvZiBjb250ZW50 cyAoTk8pIGluIHRoZSAuY2htIGZpbGUuCistCistQklOQVJZX1RPQyAgICAgICAgICAgICA9IE5P CistCistIyBUaGUgVE9DX0VYUEFORCBmbGFnIGNhbiBiZSBzZXQgdG8gWUVTIHRvIGFkZCBleHRy YSBpdGVtcyBmb3IgZ3JvdXAgbWVtYmVycworLSMgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZSBIVE1M IGhlbHAgZG9jdW1lbnRhdGlvbiBhbmQgdG8gdGhlIHRyZWUgdmlldy4KKy0KKy1UT0NfRVhQQU5E ICAgICAgICAgICAgID0gTk8KKy0KKy0jIElmIHRoZSBHRU5FUkFURV9RSFAgdGFnIGlzIHNldCB0 byBZRVMgYW5kIGJvdGggUUhQX05BTUVTUEFDRSBhbmQgUUhQX1ZJUlRVQUxfRk9MREVSCistIyBh cmUgc2V0LCBhbiBhZGRpdGlvbmFsIGluZGV4IGZpbGUgd2lsbCBiZSBnZW5lcmF0ZWQgdGhhdCBj YW4gYmUgdXNlZCBhcyBpbnB1dCBmb3IKKy0jIFF0J3MgcWhlbHBnZW5lcmF0b3IgdG8gZ2VuZXJh dGUgYSBRdCBDb21wcmVzc2VkIEhlbHAgKC5xY2gpIG9mIHRoZSBnZW5lcmF0ZWQKKy0jIEhUTUwg ZG9jdW1lbnRhdGlvbi4KKy0KKy1HRU5FUkFURV9RSFAgICAgICAgICAgID0gTk8KKy0KKy0jIElm IHRoZSBRSEdfTE9DQVRJT04gdGFnIGlzIHNwZWNpZmllZCwgdGhlIFFDSF9GSUxFIHRhZyBjYW4K Ky0jIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgZmlsZSBuYW1lIG9mIHRoZSByZXN1bHRpbmcgLnFj aCBmaWxlLgorLSMgVGhlIHBhdGggc3BlY2lmaWVkIGlzIHJlbGF0aXZlIHRvIHRoZSBIVE1MIG91 dHB1dCBmb2xkZXIuCistCistUUNIX0ZJTEUgICAgICAgICAgICAgICA9CistCistIyBUaGUgUUhQ X05BTUVTUEFDRSB0YWcgc3BlY2lmaWVzIHRoZSBuYW1lc3BhY2UgdG8gdXNlIHdoZW4gZ2VuZXJh dGluZworLSMgUXQgSGVscCBQcm9qZWN0IG91dHB1dC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gcGxl YXNlIHNlZQorLSMgaHR0cDovL2RvYy50cm9sbHRlY2guY29tL3F0aGVscHByb2plY3QuaHRtbCNu YW1lc3BhY2UKKy0KKy1RSFBfTkFNRVNQQUNFICAgICAgICAgID0gb3JnLmRveHlnZW4uUHJvamVj dAorLQorLSMgVGhlIFFIUF9WSVJUVUFMX0ZPTERFUiB0YWcgc3BlY2lmaWVzIHRoZSBuYW1lc3Bh Y2UgdG8gdXNlIHdoZW4gZ2VuZXJhdGluZworLSMgUXQgSGVscCBQcm9qZWN0IG91dHB1dC4gRm9y IG1vcmUgaW5mb3JtYXRpb24gcGxlYXNlIHNlZQorLSMgaHR0cDovL2RvYy50cm9sbHRlY2guY29t L3F0aGVscHByb2plY3QuaHRtbCN2aXJ0dWFsLWZvbGRlcnMKKy0KKy1RSFBfVklSVFVBTF9GT0xE RVIgICAgID0gZG9jCistCistIyBJZiBRSFBfQ1VTVF9GSUxURVJfTkFNRSBpcyBzZXQsIGl0IHNw ZWNpZmllcyB0aGUgbmFtZSBvZiBhIGN1c3RvbSBmaWx0ZXIgdG8gYWRkLgorLSMgRm9yIG1vcmUg aW5mb3JtYXRpb24gcGxlYXNlIHNlZQorLSMgaHR0cDovL2RvYy50cm9sbHRlY2guY29tL3F0aGVs cHByb2plY3QuaHRtbCNjdXN0b20tZmlsdGVycworLQorLVFIUF9DVVNUX0ZJTFRFUl9OQU1FICAg PQorLQorLSMgVGhlIFFIUF9DVVNUX0ZJTFRfQVRUUlMgdGFnIHNwZWNpZmllcyB0aGUgbGlzdCBv ZiB0aGUgYXR0cmlidXRlcyBvZiB0aGUgY3VzdG9tIGZpbHRlciB0byBhZGQuRm9yIG1vcmUgaW5m b3JtYXRpb24gcGxlYXNlIHNlZQorLSMgPGEgaHJlZj0iaHR0cDovL2RvYy50cm9sbHRlY2guY29t L3F0aGVscHByb2plY3QuaHRtbCNjdXN0b20tZmlsdGVycyI+UXQgSGVscCBQcm9qZWN0IC8gQ3Vz dG9tIEZpbHRlcnM8L2E+LgorLQorLVFIUF9DVVNUX0ZJTFRFUl9BVFRSUyAgPQorLQorLSMgVGhl IFFIUF9TRUNUX0ZJTFRFUl9BVFRSUyB0YWcgc3BlY2lmaWVzIHRoZSBsaXN0IG9mIHRoZSBhdHRy aWJ1dGVzIHRoaXMgcHJvamVjdCdzCistIyBmaWx0ZXIgc2VjdGlvbiBtYXRjaGVzLgorLSMgPGEg aHJlZj0iaHR0cDovL2RvYy50cm9sbHRlY2guY29tL3F0aGVscHByb2plY3QuaHRtbCNmaWx0ZXIt YXR0cmlidXRlcyI+UXQgSGVscCBQcm9qZWN0IC8gRmlsdGVyIEF0dHJpYnV0ZXM8L2E+LgorLQor LVFIUF9TRUNUX0ZJTFRFUl9BVFRSUyAgPQorLQorLSMgSWYgdGhlIEdFTkVSQVRFX1FIUCB0YWcg aXMgc2V0IHRvIFlFUywgdGhlIFFIR19MT0NBVElPTiB0YWcgY2FuCistIyBiZSB1c2VkIHRvIHNw ZWNpZnkgdGhlIGxvY2F0aW9uIG9mIFF0J3MgcWhlbHBnZW5lcmF0b3IuCistIyBJZiBub24tZW1w dHkgZG94eWdlbiB3aWxsIHRyeSB0byBydW4gcWhlbHBnZW5lcmF0b3Igb24gdGhlIGdlbmVyYXRl ZAorLSMgLnFocCBmaWxlLgorLQorLVFIR19MT0NBVElPTiAgICAgICAgICAgPQorLQorLSMgSWYg dGhlIEdFTkVSQVRFX0VDTElQU0VIRUxQIHRhZyBpcyBzZXQgdG8gWUVTLCBhZGRpdGlvbmFsIGlu ZGV4IGZpbGVzCistIyAgd2lsbCBiZSBnZW5lcmF0ZWQsIHdoaWNoIHRvZ2V0aGVyIHdpdGggdGhl IEhUTUwgZmlsZXMsIGZvcm0gYW4gRWNsaXBzZSBoZWxwCistIyAgcGx1Z2luLiBUbyBpbnN0YWxs IHRoaXMgcGx1Z2luIGFuZCBtYWtlIGl0IGF2YWlsYWJsZSB1bmRlciB0aGUgaGVscCBjb250ZW50 cworLSMgbWVudSBpbiBFY2xpcHNlLCB0aGUgY29udGVudHMgb2YgdGhlIGRpcmVjdG9yeSBjb250 YWluaW5nIHRoZSBIVE1MIGFuZCBYTUwKKy0jIGZpbGVzIG5lZWRzIHRvIGJlIGNvcGllZCBpbnRv IHRoZSBwbHVnaW5zIGRpcmVjdG9yeSBvZiBlY2xpcHNlLiBUaGUgbmFtZSBvZgorLSMgdGhlIGRp cmVjdG9yeSB3aXRoaW4gdGhlIHBsdWdpbnMgZGlyZWN0b3J5IHNob3VsZCBiZSB0aGUgc2FtZSBh cworLSMgdGhlIEVDTElQU0VfRE9DX0lEIHZhbHVlLiBBZnRlciBjb3B5aW5nIEVjbGlwc2UgbmVl ZHMgdG8gYmUgcmVzdGFydGVkIGJlZm9yZSB0aGUgaGVscCBhcHBlYXJzLgorLQorLUdFTkVSQVRF X0VDTElQU0VIRUxQICAgPSBOTworLQorLSMgQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGVj bGlwc2UgaGVscCBwbHVnaW4uIFdoZW4gaW5zdGFsbGluZyB0aGUgcGx1Z2luCistIyB0aGUgZGly ZWN0b3J5IG5hbWUgY29udGFpbmluZyB0aGUgSFRNTCBhbmQgWE1MIGZpbGVzIHNob3VsZCBhbHNv IGhhdmUKKy0jIHRoaXMgbmFtZS4KKy0KKy1FQ0xJUFNFX0RPQ19JRCAgICAgICAgID0gb3JnLmRv eHlnZW4uUHJvamVjdAorLQorLSMgVGhlIERJU0FCTEVfSU5ERVggdGFnIGNhbiBiZSB1c2VkIHRv IHR1cm4gb24vb2ZmIHRoZSBjb25kZW5zZWQgaW5kZXggYXQKKy0jIHRvcCBvZiBlYWNoIEhUTUwg cGFnZS4gVGhlIHZhbHVlIE5PICh0aGUgZGVmYXVsdCkgZW5hYmxlcyB0aGUgaW5kZXggYW5kCist IyB0aGUgdmFsdWUgWUVTIGRpc2FibGVzIGl0LgorLQorLURJU0FCTEVfSU5ERVggICAgICAgICAg PSBOTworLQorLSMgVGhpcyB0YWcgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBudW1iZXIgb2YgZW51 bSB2YWx1ZXMgKHJhbmdlIFsxLi4yMF0pCistIyB0aGF0IGRveHlnZW4gd2lsbCBncm91cCBvbiBv bmUgbGluZSBpbiB0aGUgZ2VuZXJhdGVkIEhUTUwgZG9jdW1lbnRhdGlvbi4KKy0KKy1FTlVNX1ZB TFVFU19QRVJfTElORSAgID0gNAorLQorLSMgVGhlIEdFTkVSQVRFX1RSRUVWSUVXIHRhZyBpcyB1 c2VkIHRvIHNwZWNpZnkgd2hldGhlciBhIHRyZWUtbGlrZSBpbmRleAorLSMgc3RydWN0dXJlIHNo b3VsZCBiZSBnZW5lcmF0ZWQgdG8gZGlzcGxheSBoaWVyYXJjaGljYWwgaW5mb3JtYXRpb24uCist IyBJZiB0aGUgdGFnIHZhbHVlIGlzIHNldCB0byBZRVMsIGEgc2lkZSBwYW5lbCB3aWxsIGJlIGdl bmVyYXRlZAorLSMgY29udGFpbmluZyBhIHRyZWUtbGlrZSBpbmRleCBzdHJ1Y3R1cmUgKGp1c3Qg bGlrZSB0aGUgb25lIHRoYXQKKy0jIGlzIGdlbmVyYXRlZCBmb3IgSFRNTCBIZWxwKS4gRm9yIHRo aXMgdG8gd29yayBhIGJyb3dzZXIgdGhhdCBzdXBwb3J0cworLSMgSmF2YVNjcmlwdCwgREhUTUws IENTUyBhbmQgZnJhbWVzIGlzIHJlcXVpcmVkIChpLmUuIGFueSBtb2Rlcm4gYnJvd3NlcikuCist IyBXaW5kb3dzIHVzZXJzIGFyZSBwcm9iYWJseSBiZXR0ZXIgb2ZmIHVzaW5nIHRoZSBIVE1MIGhl bHAgZmVhdHVyZS4KKy0KKy1HRU5FUkFURV9UUkVFVklFVyAgICAgID0gTk8KKy0KKy0jIEJ5IGVu YWJsaW5nIFVTRV9JTkxJTkVfVFJFRVMsIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSB0aGUgR3JvdXBz LCBEaXJlY3RvcmllcywKKy0jIGFuZCBDbGFzcyBIaWVyYXJjaHkgcGFnZXMgdXNpbmcgYSB0cmVl IHZpZXcgaW5zdGVhZCBvZiBhbiBvcmRlcmVkIGxpc3QuCistCistVVNFX0lOTElORV9UUkVFUyAg ICAgICA9IE5PCistCistIyBJZiB0aGUgdHJlZXZpZXcgaXMgZW5hYmxlZCAoc2VlIEdFTkVSQVRF X1RSRUVWSUVXKSB0aGVuIHRoaXMgdGFnIGNhbiBiZQorLSMgdXNlZCB0byBzZXQgdGhlIGluaXRp YWwgd2lkdGggKGluIHBpeGVscykgb2YgdGhlIGZyYW1lIGluIHdoaWNoIHRoZSB0cmVlCistIyBp cyBzaG93bi4KKy0KKy1UUkVFVklFV19XSURUSCAgICAgICAgID0gMjUwCistCistIyBVc2UgdGhp cyB0YWcgdG8gY2hhbmdlIHRoZSBmb250IHNpemUgb2YgTGF0ZXggZm9ybXVsYXMgaW5jbHVkZWQK Ky0jIGFzIGltYWdlcyBpbiB0aGUgSFRNTCBkb2N1bWVudGF0aW9uLiBUaGUgZGVmYXVsdCBpcyAx MC4gTm90ZSB0aGF0CistIyB3aGVuIHlvdSBjaGFuZ2UgdGhlIGZvbnQgc2l6ZSBhZnRlciBhIHN1 Y2Nlc3NmdWwgZG94eWdlbiBydW4geW91IG5lZWQKKy0jIHRvIG1hbnVhbGx5IHJlbW92ZSBhbnkg Zm9ybV8qLnBuZyBpbWFnZXMgZnJvbSB0aGUgSFRNTCBvdXRwdXQgZGlyZWN0b3J5CistIyB0byBm b3JjZSB0aGVtIHRvIGJlIHJlZ2VuZXJhdGVkLgorLQorLUZPUk1VTEFfRk9OVFNJWkUgICAgICAg PSAxMAorLQorLSMgV2hlbiB0aGUgU0VBUkNIRU5HSU5FIHRhZyBpcyBlbmFibGVkIGRveHlnZW4g d2lsbCBnZW5lcmF0ZSBhIHNlYXJjaCBib3ggZm9yIHRoZSBIVE1MIG91dHB1dC4gVGhlIHVuZGVy bHlpbmcgc2VhcmNoIGVuZ2luZSB1c2VzIGphdmFzY3JpcHQKKy0jIGFuZCBESFRNTCBhbmQgc2hv dWxkIHdvcmsgb24gYW55IG1vZGVybiBicm93c2VyLiBOb3RlIHRoYXQgd2hlbiB1c2luZyBIVE1M IGhlbHAgKEdFTkVSQVRFX0hUTUxIRUxQKSwgUXQgaGVscCAoR0VORVJBVEVfUUhQKSwgb3IgZG9j c2V0cyAoR0VORVJBVEVfRE9DU0VUKSB0aGVyZSBpcyBhbHJlYWR5IGEgc2VhcmNoIGZ1bmN0aW9u IHNvIHRoaXMgb25lIHNob3VsZAorLSMgdHlwaWNhbGx5IGJlIGRpc2FibGVkLiBGb3IgbGFyZ2Ug cHJvamVjdHMgdGhlIGphdmFzY3JpcHQgYmFzZWQgc2VhcmNoIGVuZ2luZQorLSMgY2FuIGJlIHNs b3csIHRoZW4gZW5hYmxpbmcgU0VSVkVSX0JBU0VEX1NFQVJDSCBtYXkgcHJvdmlkZSBhIGJldHRl ciBzb2x1dGlvbi4KKy0KKy1TRUFSQ0hFTkdJTkUgICAgICAgICAgID0gWUVTCistCistIyBXaGVu IHRoZSBTRVJWRVJfQkFTRURfU0VBUkNIIHRhZyBpcyBlbmFibGVkIHRoZSBzZWFyY2ggZW5naW5l IHdpbGwgYmUgaW1wbGVtZW50ZWQgdXNpbmcgYSBQSFAgZW5hYmxlZCB3ZWIgc2VydmVyIGluc3Rl YWQgb2YgYXQgdGhlIHdlYiBjbGllbnQgdXNpbmcgSmF2YXNjcmlwdC4gRG94eWdlbiB3aWxsIGdl bmVyYXRlIHRoZSBzZWFyY2ggUEhQIHNjcmlwdCBhbmQgaW5kZXgKKy0jIGZpbGUgdG8gcHV0IG9u IHRoZSB3ZWIgc2VydmVyLiBUaGUgYWR2YW50YWdlIG9mIHRoZSBzZXJ2ZXIgYmFzZWQgYXBwcm9h Y2ggaXMgdGhhdCBpdCBzY2FsZXMgYmV0dGVyIHRvIGxhcmdlIHByb2plY3RzIGFuZCBhbGxvd3Mg ZnVsbCB0ZXh0IHNlYXJjaC4gVGhlIGRpc2FkdmFuY2VzIGlzIHRoYXQgaXQgaXMgbW9yZSBkaWZm aWN1bHQgdG8gc2V0dXAKKy0jIGFuZCBkb2VzIG5vdCBoYXZlIGxpdmUgc2VhcmNoaW5nIGNhcGFi aWxpdGllcy4KKy0KKy1TRVJWRVJfQkFTRURfU0VBUkNIICAgID0gTk8KKy0KKy0jLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCistIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgTGFUZVgg b3V0cHV0CistIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQorLSMgSWYgdGhlIEdFTkVSQVRFX0xBVEVY IHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgRG94eWdlbiB3aWxsCistIyBnZW5lcmF0 ZSBMYXRleCBvdXRwdXQuCistCistR0VORVJBVEVfTEFURVggICAgICAgICA9IFlFUworLQorLSMg VGhlIExBVEVYX09VVFBVVCB0YWcgaXMgdXNlZCB0byBzcGVjaWZ5IHdoZXJlIHRoZSBMYVRlWCBk b2NzIHdpbGwgYmUgcHV0LgorLSMgSWYgYSByZWxhdGl2ZSBwYXRoIGlzIGVudGVyZWQgdGhlIHZh bHVlIG9mIE9VVFBVVF9ESVJFQ1RPUlkgd2lsbCBiZQorLSMgcHV0IGluIGZyb250IG9mIGl0LiBJ ZiBsZWZ0IGJsYW5rIGBsYXRleCcgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHBhdGguCist CistTEFURVhfT1VUUFVUICAgICAgICAgICA9IGxhdGV4CistCistIyBUaGUgTEFURVhfQ01EX05B TUUgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIExhVGVYIGNvbW1hbmQgbmFtZSB0byBi ZQorLSMgaW52b2tlZC4gSWYgbGVmdCBibGFuayBgbGF0ZXgnIHdpbGwgYmUgdXNlZCBhcyB0aGUg ZGVmYXVsdCBjb21tYW5kIG5hbWUuCistIyBOb3RlIHRoYXQgd2hlbiBlbmFibGluZyBVU0VfUERG TEFURVggdGhpcyBvcHRpb24gaXMgb25seSB1c2VkIGZvcgorLSMgZ2VuZXJhdGluZyBiaXRtYXBz IGZvciBmb3JtdWxhcyBpbiB0aGUgSFRNTCBvdXRwdXQsIGJ1dCBub3QgaW4gdGhlCistIyBNYWtl ZmlsZSB0aGF0IGlzIHdyaXR0ZW4gdG8gdGhlIG91dHB1dCBkaXJlY3RvcnkuCistCistTEFURVhf Q01EX05BTUUgICAgICAgICA9IGxhdGV4CistCistIyBUaGUgTUFLRUlOREVYX0NNRF9OQU1FIHRh ZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBjb21tYW5kIG5hbWUgdG8KKy0jIGdlbmVyYXRl IGluZGV4IGZvciBMYVRlWC4gSWYgbGVmdCBibGFuayBgbWFrZWluZGV4JyB3aWxsIGJlIHVzZWQg YXMgdGhlCistIyBkZWZhdWx0IGNvbW1hbmQgbmFtZS4KKy0KKy1NQUtFSU5ERVhfQ01EX05BTUUg ICAgID0gbWFrZWluZGV4CistCistIyBJZiB0aGUgQ09NUEFDVF9MQVRFWCB0YWcgaXMgc2V0IHRv IFlFUyBEb3h5Z2VuIGdlbmVyYXRlcyBtb3JlIGNvbXBhY3QKKy0jIExhVGVYIGRvY3VtZW50cy4g VGhpcyBtYXkgYmUgdXNlZnVsIGZvciBzbWFsbCBwcm9qZWN0cyBhbmQgbWF5IGhlbHAgdG8KKy0j IHNhdmUgc29tZSB0cmVlcyBpbiBnZW5lcmFsLgorLQorLUNPTVBBQ1RfTEFURVggICAgICAgICAg PSBOTworLQorLSMgVGhlIFBBUEVSX1RZUEUgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgcGFw ZXIgdHlwZSB0aGF0IGlzIHVzZWQKKy0jIGJ5IHRoZSBwcmludGVyLiBQb3NzaWJsZSB2YWx1ZXMg YXJlOiBhNCwgYTR3aWRlLCBsZXR0ZXIsIGxlZ2FsIGFuZAorLSMgZXhlY3V0aXZlLiBJZiBsZWZ0 IGJsYW5rIGE0d2lkZSB3aWxsIGJlIHVzZWQuCistCistUEFQRVJfVFlQRSAgICAgICAgICAgICA9 IGE0d2lkZQorLQorLSMgVGhlIEVYVFJBX1BBQ0tBR0VTIHRhZyBjYW4gYmUgdG8gc3BlY2lmeSBv bmUgb3IgbW9yZSBuYW1lcyBvZiBMYVRlWAorLSMgcGFja2FnZXMgdGhhdCBzaG91bGQgYmUgaW5j bHVkZWQgaW4gdGhlIExhVGVYIG91dHB1dC4KKy0KKy1FWFRSQV9QQUNLQUdFUyAgICAgICAgID0K Ky0KKy0jIFRoZSBMQVRFWF9IRUFERVIgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwZXJz b25hbCBMYVRlWCBoZWFkZXIgZm9yCistIyB0aGUgZ2VuZXJhdGVkIGxhdGV4IGRvY3VtZW50LiBU aGUgaGVhZGVyIHNob3VsZCBjb250YWluIGV2ZXJ5dGhpbmcgdW50aWwKKy0jIHRoZSBmaXJzdCBj aGFwdGVyLiBJZiBpdCBpcyBsZWZ0IGJsYW5rIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSBhCistIyBz dGFuZGFyZCBoZWFkZXIuIE5vdGljZTogb25seSB1c2UgdGhpcyB0YWcgaWYgeW91IGtub3cgd2hh dCB5b3UgYXJlIGRvaW5nIQorLQorLUxBVEVYX0hFQURFUiAgICAgICAgICAgPQorLQorLSMgSWYg dGhlIFBERl9IWVBFUkxJTktTIHRhZyBpcyBzZXQgdG8gWUVTLCB0aGUgTGFUZVggdGhhdCBpcyBn ZW5lcmF0ZWQKKy0jIGlzIHByZXBhcmVkIGZvciBjb252ZXJzaW9uIHRvIHBkZiAodXNpbmcgcHMy cGRmKS4gVGhlIHBkZiBmaWxlIHdpbGwKKy0jIGNvbnRhaW4gbGlua3MgKGp1c3QgbGlrZSB0aGUg SFRNTCBvdXRwdXQpIGluc3RlYWQgb2YgcGFnZSByZWZlcmVuY2VzCistIyBUaGlzIG1ha2VzIHRo ZSBvdXRwdXQgc3VpdGFibGUgZm9yIG9ubGluZSBicm93c2luZyB1c2luZyBhIHBkZiB2aWV3ZXIu CistCistUERGX0hZUEVSTElOS1MgICAgICAgICA9IFlFUworLQorLSMgSWYgdGhlIFVTRV9QREZM QVRFWCB0YWcgaXMgc2V0IHRvIFlFUywgcGRmbGF0ZXggd2lsbCBiZSB1c2VkIGluc3RlYWQgb2YK Ky0jIHBsYWluIGxhdGV4IGluIHRoZSBnZW5lcmF0ZWQgTWFrZWZpbGUuIFNldCB0aGlzIG9wdGlv biB0byBZRVMgdG8gZ2V0IGEKKy0jIGhpZ2hlciBxdWFsaXR5IFBERiBkb2N1bWVudGF0aW9uLgor LQorLVVTRV9QREZMQVRFWCAgICAgICAgICAgPSBZRVMKKy0KKy0jIElmIHRoZSBMQVRFWF9CQVRD SE1PREUgdGFnIGlzIHNldCB0byBZRVMsIGRveHlnZW4gd2lsbCBhZGQgdGhlIFxcYmF0Y2htb2Rl LgorLSMgY29tbWFuZCB0byB0aGUgZ2VuZXJhdGVkIExhVGVYIGZpbGVzLiBUaGlzIHdpbGwgaW5z dHJ1Y3QgTGFUZVggdG8ga2VlcAorLSMgcnVubmluZyBpZiBlcnJvcnMgb2NjdXIsIGluc3RlYWQg b2YgYXNraW5nIHRoZSB1c2VyIGZvciBoZWxwLgorLSMgVGhpcyBvcHRpb24gaXMgYWxzbyB1c2Vk IHdoZW4gZ2VuZXJhdGluZyBmb3JtdWxhcyBpbiBIVE1MLgorLQorLUxBVEVYX0JBVENITU9ERSAg ICAgICAgPSBOTworLQorLSMgSWYgTEFURVhfSElERV9JTkRJQ0VTIGlzIHNldCB0byBZRVMgdGhl biBkb3h5Z2VuIHdpbGwgbm90CistIyBpbmNsdWRlIHRoZSBpbmRleCBjaGFwdGVycyAoc3VjaCBh cyBGaWxlIEluZGV4LCBDb21wb3VuZCBJbmRleCwgZXRjLikKKy0jIGluIHRoZSBvdXRwdXQuCist CistTEFURVhfSElERV9JTkRJQ0VTICAgICA9IE5PCistCistIyBJZiBMQVRFWF9TT1VSQ0VfQ09E RSBpcyBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiB3aWxsIGluY2x1ZGUgc291cmNlIGNvZGUgd2l0 aCBzeW50YXggaGlnaGxpZ2h0aW5nIGluIHRoZSBMYVRlWCBvdXRwdXQuIE5vdGUgdGhhdCB3aGlj aCBzb3VyY2VzIGFyZSBzaG93biBhbHNvIGRlcGVuZHMgb24gb3RoZXIgc2V0dGluZ3Mgc3VjaCBh cyBTT1VSQ0VfQlJPV1NFUi4KKy0KKy1MQVRFWF9TT1VSQ0VfQ09ERSAgICAgID0gTk8KKy0KKy0j LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCistIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0 aGUgUlRGIG91dHB1dAorLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0KKy0jIElmIHRoZSBHRU5FUkFU RV9SVEYgdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxsIGdlbmVyYXRlIFJURiBvdXRwdXQK Ky0jIFRoZSBSVEYgb3V0cHV0IGlzIG9wdGltaXplZCBmb3IgV29yZCA5NyBhbmQgbWF5IG5vdCBs b29rIHZlcnkgcHJldHR5IHdpdGgKKy0jIG90aGVyIFJURiByZWFkZXJzIG9yIGVkaXRvcnMuCist CistR0VORVJBVEVfUlRGICAgICAgICAgICA9IE5PCistCistIyBUaGUgUlRGX09VVFBVVCB0YWcg aXMgdXNlZCB0byBzcGVjaWZ5IHdoZXJlIHRoZSBSVEYgZG9jcyB3aWxsIGJlIHB1dC4KKy0jIElm IGEgcmVsYXRpdmUgcGF0aCBpcyBlbnRlcmVkIHRoZSB2YWx1ZSBvZiBPVVRQVVRfRElSRUNUT1JZ IHdpbGwgYmUKKy0jIHB1dCBpbiBmcm9udCBvZiBpdC4gSWYgbGVmdCBibGFuayBgcnRmJyB3aWxs IGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgcGF0aC4KKy0KKy1SVEZfT1VUUFVUICAgICAgICAgICAg ID0gcnRmCistCistIyBJZiB0aGUgQ09NUEFDVF9SVEYgdGFnIGlzIHNldCB0byBZRVMgRG94eWdl biBnZW5lcmF0ZXMgbW9yZSBjb21wYWN0CistIyBSVEYgZG9jdW1lbnRzLiBUaGlzIG1heSBiZSB1 c2VmdWwgZm9yIHNtYWxsIHByb2plY3RzIGFuZCBtYXkgaGVscCB0bworLSMgc2F2ZSBzb21lIHRy ZWVzIGluIGdlbmVyYWwuCistCistQ09NUEFDVF9SVEYgICAgICAgICAgICA9IE5PCistCistIyBJ ZiB0aGUgUlRGX0hZUEVSTElOS1MgdGFnIGlzIHNldCB0byBZRVMsIHRoZSBSVEYgdGhhdCBpcyBn ZW5lcmF0ZWQKKy0jIHdpbGwgY29udGFpbiBoeXBlcmxpbmsgZmllbGRzLiBUaGUgUlRGIGZpbGUg d2lsbAorLSMgY29udGFpbiBsaW5rcyAoanVzdCBsaWtlIHRoZSBIVE1MIG91dHB1dCkgaW5zdGVh ZCBvZiBwYWdlIHJlZmVyZW5jZXMuCistIyBUaGlzIG1ha2VzIHRoZSBvdXRwdXQgc3VpdGFibGUg Zm9yIG9ubGluZSBicm93c2luZyB1c2luZyBXT1JEIG9yIG90aGVyCistIyBwcm9ncmFtcyB3aGlj aCBzdXBwb3J0IHRob3NlIGZpZWxkcy4KKy0jIE5vdGU6IHdvcmRwYWQgKHdyaXRlKSBhbmQgb3Ro ZXJzIGRvIG5vdCBzdXBwb3J0IGxpbmtzLgorLQorLVJURl9IWVBFUkxJTktTICAgICAgICAgPSBO TworLQorLSMgTG9hZCBzdHlsZXNoZWV0IGRlZmluaXRpb25zIGZyb20gZmlsZS4gU3ludGF4IGlz IHNpbWlsYXIgdG8gZG94eWdlbidzCistIyBjb25maWcgZmlsZSwgaS5lLiBhIHNlcmllcyBvZiBh c3NpZ25tZW50cy4gWW91IG9ubHkgaGF2ZSB0byBwcm92aWRlCistIyByZXBsYWNlbWVudHMsIG1p c3NpbmcgZGVmaW5pdGlvbnMgYXJlIHNldCB0byB0aGVpciBkZWZhdWx0IHZhbHVlLgorLQorLVJU Rl9TVFlMRVNIRUVUX0ZJTEUgICAgPQorLQorLSMgU2V0IG9wdGlvbmFsIHZhcmlhYmxlcyB1c2Vk IGluIHRoZSBnZW5lcmF0aW9uIG9mIGFuIHJ0ZiBkb2N1bWVudC4KKy0jIFN5bnRheCBpcyBzaW1p bGFyIHRvIGRveHlnZW4ncyBjb25maWcgZmlsZS4KKy0KKy1SVEZfRVhURU5TSU9OU19GSUxFICAg ID0KKy0KKy0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVs YXRlZCB0byB0aGUgbWFuIHBhZ2Ugb3V0cHV0CistIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQorLSMg SWYgdGhlIEdFTkVSQVRFX01BTiB0YWcgaXMgc2V0IHRvIFlFUyAodGhlIGRlZmF1bHQpIERveHln ZW4gd2lsbAorLSMgZ2VuZXJhdGUgbWFuIHBhZ2VzCistCistR0VORVJBVEVfTUFOICAgICAgICAg ICA9IE5PCistCistIyBUaGUgTUFOX09VVFBVVCB0YWcgaXMgdXNlZCB0byBzcGVjaWZ5IHdoZXJl IHRoZSBtYW4gcGFnZXMgd2lsbCBiZSBwdXQuCistIyBJZiBhIHJlbGF0aXZlIHBhdGggaXMgZW50 ZXJlZCB0aGUgdmFsdWUgb2YgT1VUUFVUX0RJUkVDVE9SWSB3aWxsIGJlCistIyBwdXQgaW4gZnJv bnQgb2YgaXQuIElmIGxlZnQgYmxhbmsgYG1hbicgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0 IHBhdGguCistCistTUFOX09VVFBVVCAgICAgICAgICAgICA9IG1hbgorLQorLSMgVGhlIE1BTl9F WFRFTlNJT04gdGFnIGRldGVybWluZXMgdGhlIGV4dGVuc2lvbiB0aGF0IGlzIGFkZGVkIHRvCist IyB0aGUgZ2VuZXJhdGVkIG1hbiBwYWdlcyAoZGVmYXVsdCBpcyB0aGUgc3Vicm91dGluZSdzIHNl Y3Rpb24gLjMpCistCistTUFOX0VYVEVOU0lPTiAgICAgICAgICA9IC4zCistCistIyBJZiB0aGUg TUFOX0xJTktTIHRhZyBpcyBzZXQgdG8gWUVTIGFuZCBEb3h5Z2VuIGdlbmVyYXRlcyBtYW4gb3V0 cHV0LAorLSMgdGhlbiBpdCB3aWxsIGdlbmVyYXRlIG9uZSBhZGRpdGlvbmFsIG1hbiBmaWxlIGZv ciBlYWNoIGVudGl0eQorLSMgZG9jdW1lbnRlZCBpbiB0aGUgcmVhbCBtYW4gcGFnZShzKS4gVGhl c2UgYWRkaXRpb25hbCBmaWxlcworLSMgb25seSBzb3VyY2UgdGhlIHJlYWwgbWFuIHBhZ2UsIGJ1 dCB3aXRob3V0IHRoZW0gdGhlIG1hbiBjb21tYW5kCistIyB3b3VsZCBiZSB1bmFibGUgdG8gZmlu ZCB0aGUgY29ycmVjdCBwYWdlLiBUaGUgZGVmYXVsdCBpcyBOTy4KKy0KKy1NQU5fTElOS1MgICAg ICAgICAgICAgID0gTk8KKy0KKy0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBjb25maWd1cmF0aW9u IG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgWE1MIG91dHB1dAorLSMtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K Ky0KKy0jIElmIHRoZSBHRU5FUkFURV9YTUwgdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxs CistIyBnZW5lcmF0ZSBhbiBYTUwgZmlsZSB0aGF0IGNhcHR1cmVzIHRoZSBzdHJ1Y3R1cmUgb2YK Ky0jIHRoZSBjb2RlIGluY2x1ZGluZyBhbGwgZG9jdW1lbnRhdGlvbi4KKy0KKy1HRU5FUkFURV9Y TUwgICAgICAgICAgID0gWUVTCistCistIyBUaGUgWE1MX09VVFBVVCB0YWcgaXMgdXNlZCB0byBz cGVjaWZ5IHdoZXJlIHRoZSBYTUwgcGFnZXMgd2lsbCBiZSBwdXQuCistIyBJZiBhIHJlbGF0aXZl IHBhdGggaXMgZW50ZXJlZCB0aGUgdmFsdWUgb2YgT1VUUFVUX0RJUkVDVE9SWSB3aWxsIGJlCist IyBwdXQgaW4gZnJvbnQgb2YgaXQuIElmIGxlZnQgYmxhbmsgYHhtbCcgd2lsbCBiZSB1c2VkIGFz IHRoZSBkZWZhdWx0IHBhdGguCistCistWE1MX09VVFBVVCAgICAgICAgICAgICA9IHhtbAorLQor LSMgVGhlIFhNTF9TQ0hFTUEgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYW4gWE1MIHNjaGVt YSwKKy0jIHdoaWNoIGNhbiBiZSB1c2VkIGJ5IGEgdmFsaWRhdGluZyBYTUwgcGFyc2VyIHRvIGNo ZWNrIHRoZQorLSMgc3ludGF4IG9mIHRoZSBYTUwgZmlsZXMuCistCistWE1MX1NDSEVNQSAgICAg ICAgICAgICA9CistCistIyBUaGUgWE1MX0RURCB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBh biBYTUwgRFRELAorLSMgd2hpY2ggY2FuIGJlIHVzZWQgYnkgYSB2YWxpZGF0aW5nIFhNTCBwYXJz ZXIgdG8gY2hlY2sgdGhlCistIyBzeW50YXggb2YgdGhlIFhNTCBmaWxlcy4KKy0KKy1YTUxfRFRE ICAgICAgICAgICAgICAgID0KKy0KKy0jIElmIHRoZSBYTUxfUFJPR1JBTUxJU1RJTkcgdGFnIGlz IHNldCB0byBZRVMgRG94eWdlbiB3aWxsCistIyBkdW1wIHRoZSBwcm9ncmFtIGxpc3RpbmdzIChp bmNsdWRpbmcgc3ludGF4IGhpZ2hsaWdodGluZworLSMgYW5kIGNyb3NzLXJlZmVyZW5jaW5nIGlu Zm9ybWF0aW9uKSB0byB0aGUgWE1MIG91dHB1dC4gTm90ZSB0aGF0CistIyBlbmFibGluZyB0aGlz IHdpbGwgc2lnbmlmaWNhbnRseSBpbmNyZWFzZSB0aGUgc2l6ZSBvZiB0aGUgWE1MIG91dHB1dC4K Ky0KKy1YTUxfUFJPR1JBTUxJU1RJTkcgICAgID0gWUVTCistCistIy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorLSMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQXV0b0dlbiBEZWZpbml0aW9ucyBv dXRwdXQKKy0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistCistIyBJZiB0aGUgR0VORVJBVEVfQVVUT0dF Tl9ERUYgdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxsCistIyBnZW5lcmF0ZSBhbiBBdXRv R2VuIERlZmluaXRpb25zIChzZWUgYXV0b2dlbi5zZi5uZXQpIGZpbGUKKy0jIHRoYXQgY2FwdHVy ZXMgdGhlIHN0cnVjdHVyZSBvZiB0aGUgY29kZSBpbmNsdWRpbmcgYWxsCistIyBkb2N1bWVudGF0 aW9uLiBOb3RlIHRoYXQgdGhpcyBmZWF0dXJlIGlzIHN0aWxsIGV4cGVyaW1lbnRhbAorLSMgYW5k IGluY29tcGxldGUgYXQgdGhlIG1vbWVudC4KKy0KKy1HRU5FUkFURV9BVVRPR0VOX0RFRiAgID0g Tk8KKy0KKy0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVs YXRlZCB0byB0aGUgUGVybCBtb2R1bGUgb3V0cHV0CistIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQor LSMgSWYgdGhlIEdFTkVSQVRFX1BFUkxNT0QgdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxs CistIyBnZW5lcmF0ZSBhIFBlcmwgbW9kdWxlIGZpbGUgdGhhdCBjYXB0dXJlcyB0aGUgc3RydWN0 dXJlIG9mCistIyB0aGUgY29kZSBpbmNsdWRpbmcgYWxsIGRvY3VtZW50YXRpb24uIE5vdGUgdGhh dCB0aGlzCistIyBmZWF0dXJlIGlzIHN0aWxsIGV4cGVyaW1lbnRhbCBhbmQgaW5jb21wbGV0ZSBh dCB0aGUKKy0jIG1vbWVudC4KKy0KKy1HRU5FUkFURV9QRVJMTU9EICAgICAgID0gTk8KKy0KKy0j IElmIHRoZSBQRVJMTU9EX0xBVEVYIHRhZyBpcyBzZXQgdG8gWUVTIERveHlnZW4gd2lsbCBnZW5l cmF0ZQorLSMgdGhlIG5lY2Vzc2FyeSBNYWtlZmlsZSBydWxlcywgUGVybCBzY3JpcHRzIGFuZCBM YVRlWCBjb2RlIHRvIGJlIGFibGUKKy0jIHRvIGdlbmVyYXRlIFBERiBhbmQgRFZJIG91dHB1dCBm cm9tIHRoZSBQZXJsIG1vZHVsZSBvdXRwdXQuCistCistUEVSTE1PRF9MQVRFWCAgICAgICAgICA9 IE5PCistCistIyBJZiB0aGUgUEVSTE1PRF9QUkVUVFkgdGFnIGlzIHNldCB0byBZRVMgdGhlIFBl cmwgbW9kdWxlIG91dHB1dCB3aWxsIGJlCistIyBuaWNlbHkgZm9ybWF0dGVkIHNvIGl0IGNhbiBi ZSBwYXJzZWQgYnkgYSBodW1hbiByZWFkZXIuCistIyBUaGlzIGlzIHVzZWZ1bAorLSMgaWYgeW91 IHdhbnQgdG8gdW5kZXJzdGFuZCB3aGF0IGlzIGdvaW5nIG9uLgorLSMgT24gdGhlIG90aGVyIGhh bmQsIGlmIHRoaXMKKy0jIHRhZyBpcyBzZXQgdG8gTk8gdGhlIHNpemUgb2YgdGhlIFBlcmwgbW9k dWxlIG91dHB1dCB3aWxsIGJlIG11Y2ggc21hbGxlcgorLSMgYW5kIFBlcmwgd2lsbCBwYXJzZSBp dCBqdXN0IHRoZSBzYW1lLgorLQorLVBFUkxNT0RfUFJFVFRZICAgICAgICAgPSBZRVMKKy0KKy0j IFRoZSBuYW1lcyBvZiB0aGUgbWFrZSB2YXJpYWJsZXMgaW4gdGhlIGdlbmVyYXRlZCBkb3h5cnVs ZXMubWFrZSBmaWxlCistIyBhcmUgcHJlZml4ZWQgd2l0aCB0aGUgc3RyaW5nIGNvbnRhaW5lZCBp biBQRVJMTU9EX01BS0VWQVJfUFJFRklYLgorLSMgVGhpcyBpcyB1c2VmdWwgc28gZGlmZmVyZW50 IGRveHlydWxlcy5tYWtlIGZpbGVzIGluY2x1ZGVkIGJ5IHRoZSBzYW1lCistIyBNYWtlZmlsZSBk b24ndCBvdmVyd3JpdGUgZWFjaCBvdGhlcidzIHZhcmlhYmxlcy4KKy0KKy1QRVJMTU9EX01BS0VW QVJfUFJFRklYID0KKy0KKy0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBDb25maWd1cmF0aW9uIG9w dGlvbnMgcmVsYXRlZCB0byB0aGUgcHJlcHJvY2Vzc29yCistIy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor LQorLSMgSWYgdGhlIEVOQUJMRV9QUkVQUk9DRVNTSU5HIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUg ZGVmYXVsdCkgRG94eWdlbiB3aWxsCistIyBldmFsdWF0ZSBhbGwgQy1wcmVwcm9jZXNzb3IgZGly ZWN0aXZlcyBmb3VuZCBpbiB0aGUgc291cmNlcyBhbmQgaW5jbHVkZQorLSMgZmlsZXMuCistCist RU5BQkxFX1BSRVBST0NFU1NJTkcgICA9IFlFUworLQorLSMgSWYgdGhlIE1BQ1JPX0VYUEFOU0lP TiB0YWcgaXMgc2V0IHRvIFlFUyBEb3h5Z2VuIHdpbGwgZXhwYW5kIGFsbCBtYWNybworLSMgbmFt ZXMgaW4gdGhlIHNvdXJjZSBjb2RlLiBJZiBzZXQgdG8gTk8gKHRoZSBkZWZhdWx0KSBvbmx5IGNv bmRpdGlvbmFsCistIyBjb21waWxhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZC4gTWFjcm8gZXhwYW5z aW9uIGNhbiBiZSBkb25lIGluIGEgY29udHJvbGxlZAorLSMgd2F5IGJ5IHNldHRpbmcgRVhQQU5E X09OTFlfUFJFREVGIHRvIFlFUy4KKy0KKy1NQUNST19FWFBBTlNJT04gICAgICAgID0gTk8KKy0K Ky0jIElmIHRoZSBFWFBBTkRfT05MWV9QUkVERUYgYW5kIE1BQ1JPX0VYUEFOU0lPTiB0YWdzIGFy ZSBib3RoIHNldCB0byBZRVMKKy0jIHRoZW4gdGhlIG1hY3JvIGV4cGFuc2lvbiBpcyBsaW1pdGVk IHRvIHRoZSBtYWNyb3Mgc3BlY2lmaWVkIHdpdGggdGhlCistIyBQUkVERUZJTkVEIGFuZCBFWFBB TkRfQVNfREVGSU5FRCB0YWdzLgorLQorLUVYUEFORF9PTkxZX1BSRURFRiAgICAgPSBOTworLQor LSMgSWYgdGhlIFNFQVJDSF9JTkNMVURFUyB0YWcgaXMgc2V0IHRvIFlFUyAodGhlIGRlZmF1bHQp IHRoZSBpbmNsdWRlcyBmaWxlcworLSMgaW4gdGhlIElOQ0xVREVfUEFUSCAoc2VlIGJlbG93KSB3 aWxsIGJlIHNlYXJjaCBpZiBhICNpbmNsdWRlIGlzIGZvdW5kLgorLQorLVNFQVJDSF9JTkNMVURF UyAgICAgICAgPSBZRVMKKy0KKy0jIFRoZSBJTkNMVURFX1BBVEggdGFnIGNhbiBiZSB1c2VkIHRv IHNwZWNpZnkgb25lIG9yIG1vcmUgZGlyZWN0b3JpZXMgdGhhdAorLSMgY29udGFpbiBpbmNsdWRl IGZpbGVzIHRoYXQgYXJlIG5vdCBpbnB1dCBmaWxlcyBidXQgc2hvdWxkIGJlIHByb2Nlc3NlZCBi eQorLSMgdGhlIHByZXByb2Nlc3Nvci4KKy0KKy1JTkNMVURFX1BBVEggICAgICAgICAgID0KKy0K Ky0jIFlvdSBjYW4gdXNlIHRoZSBJTkNMVURFX0ZJTEVfUEFUVEVSTlMgdGFnIHRvIHNwZWNpZnkg b25lIG9yIG1vcmUgd2lsZGNhcmQKKy0jIHBhdHRlcm5zIChsaWtlICouaCBhbmQgKi5ocHApIHRv IGZpbHRlciBvdXQgdGhlIGhlYWRlci1maWxlcyBpbiB0aGUKKy0jIGRpcmVjdG9yaWVzLiBJZiBs ZWZ0IGJsYW5rLCB0aGUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggRklMRV9QQVRURVJOUyB3aWxs CistIyBiZSB1c2VkLgorLQorLUlOQ0xVREVfRklMRV9QQVRURVJOUyAgPQorLQorLSMgVGhlIFBS RURFRklORUQgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgbWFjcm8gbmFt ZXMgdGhhdAorLSMgYXJlIGRlZmluZWQgYmVmb3JlIHRoZSBwcmVwcm9jZXNzb3IgaXMgc3RhcnRl ZCAoc2ltaWxhciB0byB0aGUgLUQgb3B0aW9uIG9mCistIyBnY2MpLiBUaGUgYXJndW1lbnQgb2Yg dGhlIHRhZyBpcyBhIGxpc3Qgb2YgbWFjcm9zIG9mIHRoZSBmb3JtOiBuYW1lCistIyBvciBuYW1l PWRlZmluaXRpb24gKG5vIHNwYWNlcykuIElmIHRoZSBkZWZpbml0aW9uIGFuZCB0aGUgPSBhcmUK Ky0jIG9taXR0ZWQgPTEgaXMgYXNzdW1lZC4gVG8gcHJldmVudCBhIG1hY3JvIGRlZmluaXRpb24g ZnJvbSBiZWluZworLSMgdW5kZWZpbmVkIHZpYSAjdW5kZWYgb3IgcmVjdXJzaXZlbHkgZXhwYW5k ZWQgdXNlIHRoZSA6PSBvcGVyYXRvcgorLSMgaW5zdGVhZCBvZiB0aGUgPSBvcGVyYXRvci4KKy0K Ky1QUkVERUZJTkVEICAgICAgICAgICAgID0KKy0KKy0jIElmIHRoZSBNQUNST19FWFBBTlNJT04g YW5kIEVYUEFORF9PTkxZX1BSRURFRiB0YWdzIGFyZSBzZXQgdG8gWUVTIHRoZW4KKy0jIHRoaXMg dGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBsaXN0IG9mIG1hY3JvIG5hbWVzIHRoYXQgc2hv dWxkIGJlIGV4cGFuZGVkLgorLSMgVGhlIG1hY3JvIGRlZmluaXRpb24gdGhhdCBpcyBmb3VuZCBp biB0aGUgc291cmNlcyB3aWxsIGJlIHVzZWQuCistIyBVc2UgdGhlIFBSRURFRklORUQgdGFnIGlm IHlvdSB3YW50IHRvIHVzZSBhIGRpZmZlcmVudCBtYWNybyBkZWZpbml0aW9uLgorLQorLUVYUEFO RF9BU19ERUZJTkVEICAgICAgPQorLQorLSMgSWYgdGhlIFNLSVBfRlVOQ1RJT05fTUFDUk9TIHRh ZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgdGhlbgorLSMgZG94eWdlbidzIHByZXByb2Nl c3NvciB3aWxsIHJlbW92ZSBhbGwgZnVuY3Rpb24tbGlrZSBtYWNyb3MgdGhhdCBhcmUgYWxvbmUK Ky0jIG9uIGEgbGluZSwgaGF2ZSBhbiBhbGwgdXBwZXJjYXNlIG5hbWUsIGFuZCBkbyBub3QgZW5k IHdpdGggYSBzZW1pY29sb24uIFN1Y2gKKy0jIGZ1bmN0aW9uIG1hY3JvcyBhcmUgdHlwaWNhbGx5 IHVzZWQgZm9yIGJvaWxlci1wbGF0ZSBjb2RlLCBhbmQgd2lsbCBjb25mdXNlCistIyB0aGUgcGFy c2VyIGlmIG5vdCByZW1vdmVkLgorLQorLVNLSVBfRlVOQ1RJT05fTUFDUk9TICAgPSBZRVMKKy0K Ky0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBDb25maWd1cmF0aW9uOjphZGRpdGlvbnMgcmVsYXRl ZCB0byBleHRlcm5hbCByZWZlcmVuY2VzCistIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQorLSMgVGhl IFRBR0ZJTEVTIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IG9uZSBvciBtb3JlIHRhZ2Zp bGVzLgorLSMgT3B0aW9uYWxseSBhbiBpbml0aWFsIGxvY2F0aW9uIG9mIHRoZSBleHRlcm5hbCBk b2N1bWVudGF0aW9uCistIyBjYW4gYmUgYWRkZWQgZm9yIGVhY2ggdGFnZmlsZS4gVGhlIGZvcm1h dCBvZiBhIHRhZyBmaWxlIHdpdGhvdXQKKy0jIHRoaXMgbG9jYXRpb24gaXMgYXMgZm9sbG93czoK Ky0jCistIyBUQUdGSUxFUyA9IGZpbGUxIGZpbGUyIC4uLgorLSMgQWRkaW5nIGxvY2F0aW9uIGZv ciB0aGUgdGFnIGZpbGVzIGlzIGRvbmUgYXMgZm9sbG93czoKKy0jCistIyBUQUdGSUxFUyA9IGZp bGUxPWxvYzEgImZpbGUyID0gbG9jMiIgLi4uCistIyB3aGVyZSAibG9jMSIgYW5kICJsb2MyIiBj YW4gYmUgcmVsYXRpdmUgb3IgYWJzb2x1dGUgcGF0aHMgb3IKKy0jIFVSTHMuIElmIGEgbG9jYXRp b24gaXMgcHJlc2VudCBmb3IgZWFjaCB0YWcsIHRoZSBpbnN0YWxsZG94IHRvb2wKKy0jIGRvZXMg bm90IGhhdmUgdG8gYmUgcnVuIHRvIGNvcnJlY3QgdGhlIGxpbmtzLgorLSMgTm90ZSB0aGF0IGVh Y2ggdGFnIGZpbGUgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUKKy0jICh3aGVyZSB0aGUgbmFtZSBk b2VzIE5PVCBpbmNsdWRlIHRoZSBwYXRoKQorLSMgSWYgYSB0YWcgZmlsZSBpcyBub3QgbG9jYXRl ZCBpbiB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIGRveHlnZW4KKy0jIGlzIHJ1biwgeW91IG11c3Qg YWxzbyBzcGVjaWZ5IHRoZSBwYXRoIHRvIHRoZSB0YWdmaWxlIGhlcmUuCistCistVEFHRklMRVMg ICAgICAgICAgICAgICA9CistCistIyBXaGVuIGEgZmlsZSBuYW1lIGlzIHNwZWNpZmllZCBhZnRl ciBHRU5FUkFURV9UQUdGSUxFLCBkb3h5Z2VuIHdpbGwgY3JlYXRlCistIyBhIHRhZyBmaWxlIHRo YXQgaXMgYmFzZWQgb24gdGhlIGlucHV0IGZpbGVzIGl0IHJlYWRzLgorLQorLUdFTkVSQVRFX1RB R0ZJTEUgICAgICAgPQorLQorLSMgSWYgdGhlIEFMTEVYVEVSTkFMUyB0YWcgaXMgc2V0IHRvIFlF UyBhbGwgZXh0ZXJuYWwgY2xhc3NlcyB3aWxsIGJlIGxpc3RlZAorLSMgaW4gdGhlIGNsYXNzIGlu ZGV4LiBJZiBzZXQgdG8gTk8gb25seSB0aGUgaW5oZXJpdGVkIGV4dGVybmFsIGNsYXNzZXMKKy0j IHdpbGwgYmUgbGlzdGVkLgorLQorLUFMTEVYVEVSTkFMUyAgICAgICAgICAgPSBOTworLQorLSMg SWYgdGhlIEVYVEVSTkFMX0dST1VQUyB0YWcgaXMgc2V0IHRvIFlFUyBhbGwgZXh0ZXJuYWwgZ3Jv dXBzIHdpbGwgYmUgbGlzdGVkCistIyBpbiB0aGUgbW9kdWxlcyBpbmRleC4gSWYgc2V0IHRvIE5P LCBvbmx5IHRoZSBjdXJyZW50IHByb2plY3QncyBncm91cHMgd2lsbAorLSMgYmUgbGlzdGVkLgor LQorLUVYVEVSTkFMX0dST1VQUyAgICAgICAgPSBZRVMKKy0KKy0jIFRoZSBQRVJMX1BBVEggc2hv dWxkIGJlIHRoZSBhYnNvbHV0ZSBwYXRoIGFuZCBuYW1lIG9mIHRoZSBwZXJsIHNjcmlwdAorLSMg aW50ZXJwcmV0ZXIgKGkuZS4gdGhlIHJlc3VsdCBvZiBgd2hpY2ggcGVybCcpLgorLQorLVBFUkxf UEFUSCAgICAgICAgICAgICAgPSAvdXNyL2Jpbi9wZXJsCistCistIy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorLSMgQ29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIGRvdCB0b29sCistIy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorLQorLSMgSWYgdGhlIENMQVNTX0RJQUdSQU1TIHRhZyBpcyBzZXQg dG8gWUVTICh0aGUgZGVmYXVsdCkgRG94eWdlbiB3aWxsCistIyBnZW5lcmF0ZSBhIGluaGVyaXRh bmNlIGRpYWdyYW0gKGluIEhUTUwsIFJURiBhbmQgTGFUZVgpIGZvciBjbGFzc2VzIHdpdGggYmFz ZQorLSMgb3Igc3VwZXIgY2xhc3Nlcy4gU2V0dGluZyB0aGUgdGFnIHRvIE5PIHR1cm5zIHRoZSBk aWFncmFtcyBvZmYuIE5vdGUgdGhhdAorLSMgdGhpcyBvcHRpb24gaXMgc3VwZXJzZWRlZCBieSB0 aGUgSEFWRV9ET1Qgb3B0aW9uIGJlbG93LiBUaGlzIGlzIG9ubHkgYQorLSMgZmFsbGJhY2suIEl0 IGlzIHJlY29tbWVuZGVkIHRvIGluc3RhbGwgYW5kIHVzZSBkb3QsIHNpbmNlIGl0IHlpZWxkcyBt b3JlCistIyBwb3dlcmZ1bCBncmFwaHMuCistCistQ0xBU1NfRElBR1JBTVMgICAgICAgICA9IFlF UworLQorLSMgWW91IGNhbiBkZWZpbmUgbWVzc2FnZSBzZXF1ZW5jZSBjaGFydHMgd2l0aGluIGRv eHlnZW4gY29tbWVudHMgdXNpbmcgdGhlIFxtc2MKKy0jIGNvbW1hbmQuIERveHlnZW4gd2lsbCB0 aGVuIHJ1biB0aGUgbXNjZ2VuIHRvb2wgKHNlZQorLSMgaHR0cDovL3d3dy5tY3Rlcm5hbi5tZS51 ay9tc2NnZW4vKSB0byBwcm9kdWNlIHRoZSBjaGFydCBhbmQgaW5zZXJ0IGl0IGluIHRoZQorLSMg ZG9jdW1lbnRhdGlvbi4gVGhlIE1TQ0dFTl9QQVRIIHRhZyBhbGxvd3MgeW91IHRvIHNwZWNpZnkg dGhlIGRpcmVjdG9yeSB3aGVyZQorLSMgdGhlIG1zY2dlbiB0b29sIHJlc2lkZXMuIElmIGxlZnQg ZW1wdHkgdGhlIHRvb2wgaXMgYXNzdW1lZCB0byBiZSBmb3VuZCBpbiB0aGUKKy0jIGRlZmF1bHQg c2VhcmNoIHBhdGguCistCistTVNDR0VOX1BBVEggICAgICAgICAgICA9CistCistIyBJZiBzZXQg dG8gWUVTLCB0aGUgaW5oZXJpdGFuY2UgYW5kIGNvbGxhYm9yYXRpb24gZ3JhcGhzIHdpbGwgaGlk ZQorLSMgaW5oZXJpdGFuY2UgYW5kIHVzYWdlIHJlbGF0aW9ucyBpZiB0aGUgdGFyZ2V0IGlzIHVu ZG9jdW1lbnRlZAorLSMgb3IgaXMgbm90IGEgY2xhc3MuCistCistSElERV9VTkRPQ19SRUxBVElP TlMgICA9IFlFUworLQorLSMgSWYgeW91IHNldCB0aGUgSEFWRV9ET1QgdGFnIHRvIFlFUyB0aGVu IGRveHlnZW4gd2lsbCBhc3N1bWUgdGhlIGRvdCB0b29sIGlzCistIyBhdmFpbGFibGUgZnJvbSB0 aGUgcGF0aC4gVGhpcyB0b29sIGlzIHBhcnQgb2YgR3JhcGh2aXosIGEgZ3JhcGggdmlzdWFsaXph dGlvbgorLSMgdG9vbGtpdCBmcm9tIEFUJlQgYW5kIEx1Y2VudCBCZWxsIExhYnMuIFRoZSBvdGhl ciBvcHRpb25zIGluIHRoaXMgc2VjdGlvbgorLSMgaGF2ZSBubyBlZmZlY3QgaWYgdGhpcyBvcHRp b24gaXMgc2V0IHRvIE5PICh0aGUgZGVmYXVsdCkKKy0KKy1IQVZFX0RPVCAgICAgICAgICAgICAg ID0gTk8KKy0KKy0jIEJ5IGRlZmF1bHQgZG94eWdlbiB3aWxsIHdyaXRlIGEgZm9udCBjYWxsZWQg RnJlZVNhbnMudHRmIHRvIHRoZSBvdXRwdXQKKy0jIGRpcmVjdG9yeSBhbmQgcmVmZXJlbmNlIGl0 IGluIGFsbCBkb3QgZmlsZXMgdGhhdCBkb3h5Z2VuIGdlbmVyYXRlcy4gVGhpcworLSMgZm9udCBk b2VzIG5vdCBpbmNsdWRlIGFsbCBwb3NzaWJsZSB1bmljb2RlIGNoYXJhY3RlcnMgaG93ZXZlciwg c28gd2hlbiB5b3UgbmVlZAorLSMgdGhlc2UgKG9yIGp1c3Qgd2FudCBhIGRpZmZlcmVudGx5IGxv b2tpbmcgZm9udCkgeW91IGNhbiBzcGVjaWZ5IHRoZSBmb250IG5hbWUKKy0jIHVzaW5nIERPVF9G T05UTkFNRS4gWW91IG5lZWQgbmVlZCB0byBtYWtlIHN1cmUgZG90IGlzIGFibGUgdG8gZmluZCB0 aGUgZm9udCwKKy0jIHdoaWNoIGNhbiBiZSBkb25lIGJ5IHB1dHRpbmcgaXQgaW4gYSBzdGFuZGFy ZCBsb2NhdGlvbiBvciBieSBzZXR0aW5nIHRoZQorLSMgRE9URk9OVFBBVEggZW52aXJvbm1lbnQg dmFyaWFibGUgb3IgYnkgc2V0dGluZyBET1RfRk9OVFBBVEggdG8gdGhlIGRpcmVjdG9yeQorLSMg Y29udGFpbmluZyB0aGUgZm9udC4KKy0KKy1ET1RfRk9OVE5BTUUgICAgICAgICAgID0gRnJlZVNh bnMKKy0KKy0jIFRoZSBET1RfRk9OVFNJWkUgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgc2l6 ZSBvZiB0aGUgZm9udCBvZiBkb3QgZ3JhcGhzLgorLSMgVGhlIGRlZmF1bHQgc2l6ZSBpcyAxMHB0 LgorLQorLURPVF9GT05UU0laRSAgICAgICAgICAgPSAxMAorLQorLSMgQnkgZGVmYXVsdCBkb3h5 Z2VuIHdpbGwgdGVsbCBkb3QgdG8gdXNlIHRoZSBvdXRwdXQgZGlyZWN0b3J5IHRvIGxvb2sgZm9y IHRoZQorLSMgRnJlZVNhbnMudHRmIGZvbnQgKHdoaWNoIGRveHlnZW4gd2lsbCBwdXQgdGhlcmUg aXRzZWxmKS4gSWYgeW91IHNwZWNpZnkgYQorLSMgZGlmZmVyZW50IGZvbnQgdXNpbmcgRE9UX0ZP TlROQU1FIHlvdSBjYW4gc2V0IHRoZSBwYXRoIHdoZXJlIGRvdAorLSMgY2FuIGZpbmQgaXQgdXNp bmcgdGhpcyB0YWcuCistCistRE9UX0ZPTlRQQVRIICAgICAgICAgICA9CistCistIyBJZiB0aGUg Q0xBU1NfR1JBUEggYW5kIEhBVkVfRE9UIHRhZ3MgYXJlIHNldCB0byBZRVMgdGhlbiBkb3h5Z2Vu CistIyB3aWxsIGdlbmVyYXRlIGEgZ3JhcGggZm9yIGVhY2ggZG9jdW1lbnRlZCBjbGFzcyBzaG93 aW5nIHRoZSBkaXJlY3QgYW5kCistIyBpbmRpcmVjdCBpbmhlcml0YW5jZSByZWxhdGlvbnMuIFNl dHRpbmcgdGhpcyB0YWcgdG8gWUVTIHdpbGwgZm9yY2UgdGhlCistIyB0aGUgQ0xBU1NfRElBR1JB TVMgdGFnIHRvIE5PLgorLQorLUNMQVNTX0dSQVBIICAgICAgICAgICAgPSBZRVMKKy0KKy0jIElm IHRoZSBDT0xMQUJPUkFUSU9OX0dSQVBIIGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVT IHRoZW4gZG94eWdlbgorLSMgd2lsbCBnZW5lcmF0ZSBhIGdyYXBoIGZvciBlYWNoIGRvY3VtZW50 ZWQgY2xhc3Mgc2hvd2luZyB0aGUgZGlyZWN0IGFuZAorLSMgaW5kaXJlY3QgaW1wbGVtZW50YXRp b24gZGVwZW5kZW5jaWVzIChpbmhlcml0YW5jZSwgY29udGFpbm1lbnQsIGFuZAorLSMgY2xhc3Mg cmVmZXJlbmNlcyB2YXJpYWJsZXMpIG9mIHRoZSBjbGFzcyB3aXRoIG90aGVyIGRvY3VtZW50ZWQg Y2xhc3Nlcy4KKy0KKy1DT0xMQUJPUkFUSU9OX0dSQVBIICAgID0gWUVTCistCistIyBJZiB0aGUg R1JPVVBfR1JBUEhTIGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVTIHRoZW4gZG94eWdl bgorLSMgd2lsbCBnZW5lcmF0ZSBhIGdyYXBoIGZvciBncm91cHMsIHNob3dpbmcgdGhlIGRpcmVj dCBncm91cHMgZGVwZW5kZW5jaWVzCistCistR1JPVVBfR1JBUEhTICAgICAgICAgICA9IFlFUwor LQorLSMgSWYgdGhlIFVNTF9MT09LIHRhZyBpcyBzZXQgdG8gWUVTIGRveHlnZW4gd2lsbCBnZW5l cmF0ZSBpbmhlcml0YW5jZSBhbmQKKy0jIGNvbGxhYm9yYXRpb24gZGlhZ3JhbXMgaW4gYSBzdHls ZSBzaW1pbGFyIHRvIHRoZSBPTUcncyBVbmlmaWVkIE1vZGVsaW5nCistIyBMYW5ndWFnZS4KKy0K Ky1VTUxfTE9PSyAgICAgICAgICAgICAgID0gTk8KKy0KKy0jIElmIHNldCB0byBZRVMsIHRoZSBp bmhlcml0YW5jZSBhbmQgY29sbGFib3JhdGlvbiBncmFwaHMgd2lsbCBzaG93IHRoZQorLSMgcmVs YXRpb25zIGJldHdlZW4gdGVtcGxhdGVzIGFuZCB0aGVpciBpbnN0YW5jZXMuCistCistVEVNUExB VEVfUkVMQVRJT05TICAgICA9IE5PCistCistIyBJZiB0aGUgRU5BQkxFX1BSRVBST0NFU1NJTkcs IFNFQVJDSF9JTkNMVURFUywgSU5DTFVERV9HUkFQSCwgYW5kIEhBVkVfRE9UCistIyB0YWdzIGFy ZSBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiB3aWxsIGdlbmVyYXRlIGEgZ3JhcGggZm9yIGVhY2gg ZG9jdW1lbnRlZAorLSMgZmlsZSBzaG93aW5nIHRoZSBkaXJlY3QgYW5kIGluZGlyZWN0IGluY2x1 ZGUgZGVwZW5kZW5jaWVzIG9mIHRoZSBmaWxlIHdpdGgKKy0jIG90aGVyIGRvY3VtZW50ZWQgZmls ZXMuCistCistSU5DTFVERV9HUkFQSCAgICAgICAgICA9IFlFUworLQorLSMgSWYgdGhlIEVOQUJM RV9QUkVQUk9DRVNTSU5HLCBTRUFSQ0hfSU5DTFVERVMsIElOQ0xVREVEX0JZX0dSQVBILCBhbmQK Ky0jIEhBVkVfRE9UIHRhZ3MgYXJlIHNldCB0byBZRVMgdGhlbiBkb3h5Z2VuIHdpbGwgZ2VuZXJh dGUgYSBncmFwaCBmb3IgZWFjaAorLSMgZG9jdW1lbnRlZCBoZWFkZXIgZmlsZSBzaG93aW5nIHRo ZSBkb2N1bWVudGVkIGZpbGVzIHRoYXQgZGlyZWN0bHkgb3IKKy0jIGluZGlyZWN0bHkgaW5jbHVk ZSB0aGlzIGZpbGUuCistCistSU5DTFVERURfQllfR1JBUEggICAgICA9IFlFUworLQorLSMgSWYg dGhlIENBTExfR1JBUEggYW5kIEhBVkVfRE9UIG9wdGlvbnMgYXJlIHNldCB0byBZRVMgdGhlbgor LSMgZG94eWdlbiB3aWxsIGdlbmVyYXRlIGEgY2FsbCBkZXBlbmRlbmN5IGdyYXBoIGZvciBldmVy eSBnbG9iYWwgZnVuY3Rpb24KKy0jIG9yIGNsYXNzIG1ldGhvZC4gTm90ZSB0aGF0IGVuYWJsaW5n IHRoaXMgb3B0aW9uIHdpbGwgc2lnbmlmaWNhbnRseSBpbmNyZWFzZQorLSMgdGhlIHRpbWUgb2Yg YSBydW4uIFNvIGluIG1vc3QgY2FzZXMgaXQgd2lsbCBiZSBiZXR0ZXIgdG8gZW5hYmxlIGNhbGwg Z3JhcGhzCistIyBmb3Igc2VsZWN0ZWQgZnVuY3Rpb25zIG9ubHkgdXNpbmcgdGhlIFxjYWxsZ3Jh cGggY29tbWFuZC4KKy0KKy1DQUxMX0dSQVBIICAgICAgICAgICAgID0gTk8KKy0KKy0jIElmIHRo ZSBDQUxMRVJfR1JBUEggYW5kIEhBVkVfRE9UIHRhZ3MgYXJlIHNldCB0byBZRVMgdGhlbgorLSMg ZG94eWdlbiB3aWxsIGdlbmVyYXRlIGEgY2FsbGVyIGRlcGVuZGVuY3kgZ3JhcGggZm9yIGV2ZXJ5 IGdsb2JhbCBmdW5jdGlvbgorLSMgb3IgY2xhc3MgbWV0aG9kLiBOb3RlIHRoYXQgZW5hYmxpbmcg dGhpcyBvcHRpb24gd2lsbCBzaWduaWZpY2FudGx5IGluY3JlYXNlCistIyB0aGUgdGltZSBvZiBh IHJ1bi4gU28gaW4gbW9zdCBjYXNlcyBpdCB3aWxsIGJlIGJldHRlciB0byBlbmFibGUgY2FsbGVy CistIyBncmFwaHMgZm9yIHNlbGVjdGVkIGZ1bmN0aW9ucyBvbmx5IHVzaW5nIHRoZSBcY2FsbGVy Z3JhcGggY29tbWFuZC4KKy0KKy1DQUxMRVJfR1JBUEggICAgICAgICAgID0gTk8KKy0KKy0jIElm IHRoZSBHUkFQSElDQUxfSElFUkFSQ0hZIGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVT IHRoZW4gZG94eWdlbgorLSMgd2lsbCBncmFwaGljYWwgaGllcmFyY2h5IG9mIGFsbCBjbGFzc2Vz IGluc3RlYWQgb2YgYSB0ZXh0dWFsIG9uZS4KKy0KKy1HUkFQSElDQUxfSElFUkFSQ0hZICAgID0g WUVTCistCistIyBJZiB0aGUgRElSRUNUT1JZX0dSQVBILCBTSE9XX0RJUkVDVE9SSUVTIGFuZCBI QVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVTCistIyB0aGVuIGRveHlnZW4gd2lsbCBzaG93IHRo ZSBkZXBlbmRlbmNpZXMgYSBkaXJlY3RvcnkgaGFzIG9uIG90aGVyIGRpcmVjdG9yaWVzCistIyBp biBhIGdyYXBoaWNhbCB3YXkuIFRoZSBkZXBlbmRlbmN5IHJlbGF0aW9ucyBhcmUgZGV0ZXJtaW5l ZCBieSB0aGUgI2luY2x1ZGUKKy0jIHJlbGF0aW9ucyBiZXR3ZWVuIHRoZSBmaWxlcyBpbiB0aGUg ZGlyZWN0b3JpZXMuCistCistRElSRUNUT1JZX0dSQVBIICAgICAgICA9IFlFUworLQorLSMgVGhl IERPVF9JTUFHRV9GT1JNQVQgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgaW1hZ2UgZm9ybWF0 IG9mIHRoZSBpbWFnZXMKKy0jIGdlbmVyYXRlZCBieSBkb3QuIFBvc3NpYmxlIHZhbHVlcyBhcmUg cG5nLCBqcGcsIG9yIGdpZgorLSMgSWYgbGVmdCBibGFuayBwbmcgd2lsbCBiZSB1c2VkLgorLQor LURPVF9JTUFHRV9GT1JNQVQgICAgICAgPSBwbmcKKy0KKy0jIFRoZSB0YWcgRE9UX1BBVEggY2Fu IGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgcGF0aCB3aGVyZSB0aGUgZG90IHRvb2wgY2FuIGJlCist IyBmb3VuZC4gSWYgbGVmdCBibGFuaywgaXQgaXMgYXNzdW1lZCB0aGUgZG90IHRvb2wgY2FuIGJl IGZvdW5kIGluIHRoZSBwYXRoLgorLQorLURPVF9QQVRIICAgICAgICAgICAgICAgPQorLQorLSMg VGhlIERPVEZJTEVfRElSUyB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBvbmUgb3IgbW9yZSBk aXJlY3RvcmllcyB0aGF0CistIyBjb250YWluIGRvdCBmaWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBp biB0aGUgZG9jdW1lbnRhdGlvbiAoc2VlIHRoZQorLSMgXGRvdGZpbGUgY29tbWFuZCkuCistCist RE9URklMRV9ESVJTICAgICAgICAgICA9CistCistIyBUaGUgRE9UX0dSQVBIX01BWF9OT0RFUyB0 YWcgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBtYXhpbXVtIG51bWJlciBvZgorLSMgbm9kZXMgdGhh dCB3aWxsIGJlIHNob3duIGluIHRoZSBncmFwaC4gSWYgdGhlIG51bWJlciBvZiBub2RlcyBpbiBh IGdyYXBoCistIyBiZWNvbWVzIGxhcmdlciB0aGFuIHRoaXMgdmFsdWUsIGRveHlnZW4gd2lsbCB0 cnVuY2F0ZSB0aGUgZ3JhcGgsIHdoaWNoIGlzCistIyB2aXN1YWxpemVkIGJ5IHJlcHJlc2VudGlu ZyBhIG5vZGUgYXMgYSByZWQgYm94LiBOb3RlIHRoYXQgZG94eWdlbiBpZiB0aGUKKy0jIG51bWJl ciBvZiBkaXJlY3QgY2hpbGRyZW4gb2YgdGhlIHJvb3Qgbm9kZSBpbiBhIGdyYXBoIGlzIGFscmVh ZHkgbGFyZ2VyIHRoYW4KKy0jIERPVF9HUkFQSF9NQVhfTk9ERVMgdGhlbiB0aGUgZ3JhcGggd2ls bCBub3QgYmUgc2hvd24gYXQgYWxsLiBBbHNvIG5vdGUKKy0jIHRoYXQgdGhlIHNpemUgb2YgYSBn cmFwaCBjYW4gYmUgZnVydGhlciByZXN0cmljdGVkIGJ5IE1BWF9ET1RfR1JBUEhfREVQVEguCist CistRE9UX0dSQVBIX01BWF9OT0RFUyAgICA9IDUwCistCistIyBUaGUgTUFYX0RPVF9HUkFQSF9E RVBUSCB0YWcgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBtYXhpbXVtIGRlcHRoIG9mIHRoZQorLSMg Z3JhcGhzIGdlbmVyYXRlZCBieSBkb3QuIEEgZGVwdGggdmFsdWUgb2YgMyBtZWFucyB0aGF0IG9u bHkgbm9kZXMgcmVhY2hhYmxlCistIyBmcm9tIHRoZSByb290IGJ5IGZvbGxvd2luZyBhIHBhdGgg dmlhIGF0IG1vc3QgMyBlZGdlcyB3aWxsIGJlIHNob3duLiBOb2RlcworLSMgdGhhdCBsYXkgZnVy dGhlciBmcm9tIHRoZSByb290IG5vZGUgd2lsbCBiZSBvbWl0dGVkLiBOb3RlIHRoYXQgc2V0dGlu ZyB0aGlzCistIyBvcHRpb24gdG8gMSBvciAyIG1heSBncmVhdGx5IHJlZHVjZSB0aGUgY29tcHV0 YXRpb24gdGltZSBuZWVkZWQgZm9yIGxhcmdlCistIyBjb2RlIGJhc2VzLiBBbHNvIG5vdGUgdGhh dCB0aGUgc2l6ZSBvZiBhIGdyYXBoIGNhbiBiZSBmdXJ0aGVyIHJlc3RyaWN0ZWQgYnkKKy0jIERP VF9HUkFQSF9NQVhfTk9ERVMuIFVzaW5nIGEgZGVwdGggb2YgMCBtZWFucyBubyBkZXB0aCByZXN0 cmljdGlvbi4KKy0KKy1NQVhfRE9UX0dSQVBIX0RFUFRIICAgID0gMAorLQorLSMgU2V0IHRoZSBE T1RfVFJBTlNQQVJFTlQgdGFnIHRvIFlFUyB0byBnZW5lcmF0ZSBpbWFnZXMgd2l0aCBhIHRyYW5z cGFyZW50CistIyBiYWNrZ3JvdW5kLiBUaGlzIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQsIGJlY2F1 c2UgZG90IG9uIFdpbmRvd3MgZG9lcyBub3QKKy0jIHNlZW0gdG8gc3VwcG9ydCB0aGlzIG91dCBv ZiB0aGUgYm94LiBXYXJuaW5nOiBEZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtIHVzZWQsCistIyBl bmFibGluZyB0aGlzIG9wdGlvbiBtYXkgbGVhZCB0byBiYWRseSBhbnRpLWFsaWFzZWQgbGFiZWxz IG9uIHRoZSBlZGdlcyBvZgorLSMgYSBncmFwaCAoaS5lLiB0aGV5IGJlY29tZSBoYXJkIHRvIHJl YWQpLgorLQorLURPVF9UUkFOU1BBUkVOVCAgICAgICAgPSBOTworLQorLSMgU2V0IHRoZSBET1Rf TVVMVElfVEFSR0VUUyB0YWcgdG8gWUVTIGFsbG93IGRvdCB0byBnZW5lcmF0ZSBtdWx0aXBsZSBv dXRwdXQKKy0jIGZpbGVzIGluIG9uZSBydW4gKGkuZS4gbXVsdGlwbGUgLW8gYW5kIC1UIG9wdGlv bnMgb24gdGhlIGNvbW1hbmQgbGluZSkuIFRoaXMKKy0jIG1ha2VzIGRvdCBydW4gZmFzdGVyLCBi dXQgc2luY2Ugb25seSBuZXdlciB2ZXJzaW9ucyBvZiBkb3QgKD4xLjguMTApCistIyBzdXBwb3J0 IHRoaXMsIHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LgorLQorLURPVF9NVUxU SV9UQVJHRVRTICAgICAgPSBZRVMKKy0KKy0jIElmIHRoZSBHRU5FUkFURV9MRUdFTkQgdGFnIGlz IHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KSBEb3h5Z2VuIHdpbGwKKy0jIGdlbmVyYXRlIGEgbGVn ZW5kIHBhZ2UgZXhwbGFpbmluZyB0aGUgbWVhbmluZyBvZiB0aGUgdmFyaW91cyBib3hlcyBhbmQK Ky0jIGFycm93cyBpbiB0aGUgZG90IGdlbmVyYXRlZCBncmFwaHMuCistCistR0VORVJBVEVfTEVH RU5EICAgICAgICA9IFlFUworLQorLSMgSWYgdGhlIERPVF9DTEVBTlVQIHRhZyBpcyBzZXQgdG8g WUVTICh0aGUgZGVmYXVsdCkgRG94eWdlbiB3aWxsCistIyByZW1vdmUgdGhlIGludGVybWVkaWF0 ZSBkb3QgZmlsZXMgdGhhdCBhcmUgdXNlZCB0byBnZW5lcmF0ZQorLSMgdGhlIHZhcmlvdXMgZ3Jh cGhzLgorLQorLURPVF9DTEVBTlVQICAgICAgICAgICAgPSBZRVMKK2RpZmYgLS1naXQgYS9kb2Nz L2RveHlnZW4vZG94eXhtbC9leGFtcGxlL2FhZHZhcmsuY2MgYi9kb2NzL2RveHlnZW4vZG94eXht bC9leGFtcGxlL2FhZHZhcmsuY2MKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggZjkx YzFiYS4uMDAwMDAwMAorLS0tIGRvY3MvZG94eWdlbi9kb3h5eG1sL2V4YW1wbGUvYWFkdmFyay5j YworKysrIC9kZXYvbnVsbAorQEAgLTEsNTAgKzAsMCBAQAorLS8qIC0qLSBjKysgLSotICovCist LyoKKy0gKiBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0g KgorLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworLSAqCistICogR05VIFJhZGlv IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK Ky0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikKKy0gKiBhbnkgbGF0ZXIgdmVyc2lvbi4K Ky0gKgorLSAqIEdOVSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSAqIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistICoKKy0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSAqIGFsb25n IHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8K Ky0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl ZXQsCistICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCistICovCistI2luY2x1ZGUgPGlv c3RyZWFtPgorLSNpbmNsdWRlICJhYWR2YXJrLmgiCistCistdm9pZCBBYWR2YXJrOjpwcmludCgp IHsKKy0gIHN0ZDo6Y291dCA8PCAiYWFkdmFyayBpcyAiIDw8IGFhZHZhcmtuZXNzIDw8ICIvMTAg YWFkdmFya3kiIDw8IHN0ZDo6ZW5kbDsKKy19CistCistQWFkdmFyazo6QWFkdmFyayhpbnQgYWFu ZXNzKTogYWFkdmFya25lc3MoYWFuZXNzKSB7fQorLQorLWJvb2wgYWFkdmFya3lfZW5vdWdoKEFh ZHZhcmsgYWFkKSB7CistICBpZiAoYWFkLmdldF9hYWR2YXJrbmVzcygpID4gNikKKy0gICAgcmV0 dXJuIHRydWU7CistICBlbHNlCistICAgIHJldHVybiBmYWxzZTsKKy19CistCistaW50IEFhZHZh cms6OmdldF9hYWR2YXJrbmVzcygpIHsKKy0gIHJldHVybiBhYWR2YXJrbmVzczsKKy19CistCist aW50IG1haW4oKSB7CistICBBYWR2YXJrIGFyb2xkID0gQWFkdmFyayg2KTsKKy0gIGFyb2xkLnBy aW50KCk7CistICBpZiAoYWFkdmFya3lfZW5vdWdoKGFyb2xkKSkKKy0gICAgc3RkOjpjb3V0IDw8 ICJIZSBpcyBhYWR2YXJreSBlbm91Z2giIDw8IHN0ZDo6ZW5kbDsKKy0gIGVsc2UKKy0gICAgc3Rk Ojpjb3V0IDw8ICJIZSBpcyBub3QgYWFkdmFya3kgZW5vdWdoIiA8PCBzdGQ6OmVuZGw7CistfQor LQorZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdlbi9kb3h5eG1sL2V4YW1wbGUvYWFkdmFyay5oIGIv ZG9jcy9kb3h5Z2VuL2RveHl4bWwvZXhhbXBsZS9hYWR2YXJrLmgKK2RlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggZDNjMTc0NC4uMDAwMDAwMAorLS0tIGRvY3MvZG94eWdlbi9kb3h5eG1s L2V4YW1wbGUvYWFkdmFyay5oCisrKysgL2Rldi9udWxsCitAQCAtMSw0NCArMCwwIEBACistLyog LSotIGMrKyAtKi0gKi8KKy0vKgorLSAqIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorLSAqCistICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCist ICoKKy0gKiBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistICogdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorLSAqIGFu eSBsYXRlciB2ZXJzaW9uLgorLSAqCistICogR05VIFJhZGlvIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0gKgorLSAqIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCistICogYWxvbmcgd2l0aCBHTlUgUmFkaW87IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAg SWYgbm90LCB3cml0ZSB0bworLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s IDUxIEZyYW5rbGluIFN0cmVldCwKKy0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKy0g Ki8KKy0jaW5jbHVkZSA8aW9zdHJlYW0+CistCistLyohCistICogXGJyaWVmIE1vZGVscyB0aGUg bWFtbWFsIEFhZHZhcmsuCistICoKKy0gKiBTYWRseSB0aGUgbW9kZWwgaXMgaW5jb21wbGV0ZSBh bmQgY2Fubm90IGNhcHR1cmUgYWxsIGFzcGVjdHMgb2YgYW4gYWFkdmFyayB5ZXQuCistICoKKy0g KiBUaGlzIGxpbmUgaXMgdW5pbmZvcm1hdGl2ZSBhbmQgaXMgb25seSB0byB0ZXN0IGxpbmUgYnJl YWtzIGluIHRoZSBjb21tZW50cy4KKy0gKi8KKy1jbGFzcyBBYWR2YXJrIHsKKy1wdWJsaWM6Cist ICAvLyEgXGJyaWVmIE91dHB1dHMgdGhlIHZpdGFsIGFhZHZhcmsgc3RhdGlzdGljcy4KKy0gIHZv aWQgcHJpbnQoKTsKKy0gIC8vISBccGFyYW0gYWFuZXNzIFRoZSBhYWR2YXJrbmVzcyBvZiBhbiBh YWR2YXJrIGlzIGEgbWVhc3VyZSBvZiBob3cgYWFkdmFya3kgaXQgaXMuCistICBBYWR2YXJrKGlu dCBhYW5lc3MpOworLSAgaW50IGdldF9hYWR2YXJrbmVzcygpOworLXByaXZhdGU6CistICBpbnQg YWFkdmFya25lc3M7CistfTsKKy0KKy1ib29sIGFhZHZhcmt5X2Vub3VnaChBYWR2YXJrIGFhZCk7 CistCistaW50IG1haW4oKTsKK2RpZmYgLS1naXQgYS9kb2NzL2RveHlnZW4vZG94eXhtbC9leGFt cGxlL3htbC9hYWR2YXJrXzhjYy54bWwgYi9kb2NzL2RveHlnZW4vZG94eXhtbC9leGFtcGxlL3ht bC9hYWR2YXJrXzhjYy54bWwKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggZjAzMWUw MS4uMDAwMDAwMAorLS0tIGRvY3MvZG94eWdlbi9kb3h5eG1sL2V4YW1wbGUveG1sL2FhZHZhcmtf OGNjLnhtbAorKysrIC9kZXYvbnVsbAorQEAgLTEsODggKzAsMCBAQAorLTw/eG1sIHZlcnNpb249 JzEuMCcgZW5jb2Rpbmc9J1VURi04JyBzdGFuZGFsb25lPSdubyc/PgorLTxkb3h5Z2VuIHhtbG5z OnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpub05h bWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJjb21wb3VuZC54c2QiIHZlcnNpb249IjEuNi4zIj4KKy0g IDxjb21wb3VuZGRlZiBpZD0iYWFkdmFya184Y2MiIGtpbmQ9ImZpbGUiPgorLSAgICA8Y29tcG91 bmRuYW1lPmFhZHZhcmsuY2M8L2NvbXBvdW5kbmFtZT4KKy0gICAgPGluY2x1ZGVzIGxvY2FsPSJu byI+aW9zdHJlYW08L2luY2x1ZGVzPgorLSAgICA8aW5jbHVkZXMgcmVmaWQ9ImFhZHZhcmtfOGNj IiBsb2NhbD0ieWVzIj5hYWR2YXJrLmg8L2luY2x1ZGVzPgorLSAgICA8aW5jbHVkZWRieSByZWZp ZD0iYWFkdmFya184Y2MiIGxvY2FsPSJ5ZXMiPmFhZHZhcmsuY2M8L2luY2x1ZGVkYnk+CistICAg IDxpbmNkZXBncmFwaD4KKy0gICAgICA8bm9kZSBpZD0iMCI+CistICAgICAgICA8bGFiZWw+YWFk dmFyay5jYzwvbGFiZWw+CistICAgICAgICA8bGluayByZWZpZD0iYWFkdmFyay5jYyIvPgorLSAg ICAgICAgPGNoaWxkbm9kZSByZWZpZD0iMSIgcmVsYXRpb249ImluY2x1ZGUiPgorLSAgICAgICAg PC9jaGlsZG5vZGU+CistICAgICAgPC9ub2RlPgorLSAgICAgIDxub2RlIGlkPSIxIj4KKy0gICAg ICAgIDxsYWJlbD5pb3N0cmVhbTwvbGFiZWw+CistICAgICAgPC9ub2RlPgorLSAgICA8L2luY2Rl cGdyYXBoPgorLSAgICAgIDxzZWN0aW9uZGVmIGtpbmQ9ImZ1bmMiPgorLSAgICAgIDxtZW1iZXJk ZWYga2luZD0iZnVuY3Rpb24iIGlkPSJhYWR2YXJrXzhjY18xYWNiNTI4NTg1MjQyMTBlYzZkZGRj M2UxNmQxZTUyOTQ2IiBwcm90PSJwdWJsaWMiIHN0YXRpYz0ibm8iIGNvbnN0PSJubyIgZXhwbGlj aXQ9Im5vIiBpbmxpbmU9Im5vIiB2aXJ0PSJub24tdmlydHVhbCI+CistICAgICAgICA8dHlwZT5i b29sPC90eXBlPgorLSAgICAgICAgPGRlZmluaXRpb24+Ym9vbCBhYWR2YXJreV9lbm91Z2g8L2Rl ZmluaXRpb24+CistICAgICAgICA8YXJnc3N0cmluZz4oQWFkdmFyayBhYWQpPC9hcmdzc3RyaW5n PgorLSAgICAgICAgPG5hbWU+YWFkdmFya3lfZW5vdWdoPC9uYW1lPgorLSAgICAgICAgPHBhcmFt PgorLSAgICAgICAgICA8dHlwZT48cmVmIHJlZmlkPSJjbGFzc0FhZHZhcmsiIGtpbmRyZWY9ImNv bXBvdW5kIj5BYWR2YXJrPC9yZWY+PC90eXBlPgorLSAgICAgICAgICA8ZGVjbG5hbWU+YWFkPC9k ZWNsbmFtZT4KKy0gICAgICAgIDwvcGFyYW0+CistICAgICAgICA8YnJpZWZkZXNjcmlwdGlvbj4K Ky0gICAgICAgIDwvYnJpZWZkZXNjcmlwdGlvbj4KKy0gICAgICAgIDxkZXRhaWxlZGRlc2NyaXB0 aW9uPgorLSAgICAgICAgPC9kZXRhaWxlZGRlc2NyaXB0aW9uPgorLSAgICAgICAgPGluYm9keWRl c2NyaXB0aW9uPgorLSAgICAgICAgPC9pbmJvZHlkZXNjcmlwdGlvbj4KKy0gICAgICAgIDxsb2Nh dGlvbiBmaWxlPSIvaG9tZS9iZW4vZ251cmFkaW8vZ251cmFkaW8tY29yZS9zcmMvcHl0aG9uL2du dXJhZGlvL3V0aWxzL2RveHl4bWwvZXhhbXBsZS9hYWR2YXJrLmNjIiBsaW5lPSIxMCIgYm9keWZp bGU9Ii9ob21lL2Jlbi9nbnVyYWRpby9nbnVyYWRpby1jb3JlL3NyYy9weXRob24vZ251cmFkaW8v dXRpbHMvZG94eXhtbC9leGFtcGxlL2FhZHZhcmsuY2MiIGJvZHlzdGFydD0iMTAiIGJvZHllbmQ9 IjE1Ii8+CistICAgICAgPC9tZW1iZXJkZWY+CistICAgICAgPG1lbWJlcmRlZiBraW5kPSJmdW5j dGlvbiIgaWQ9ImFhZHZhcmtfOGNjXzFhZTY2ZjZiMzFiNWFkNzUwZjFmZTA0MmE3MDZhNGUzZDQi IHByb3Q9InB1YmxpYyIgc3RhdGljPSJubyIgY29uc3Q9Im5vIiBleHBsaWNpdD0ibm8iIGlubGlu ZT0ibm8iIHZpcnQ9Im5vbi12aXJ0dWFsIj4KKy0gICAgICAgIDx0eXBlPmludDwvdHlwZT4KKy0g ICAgICAgIDxkZWZpbml0aW9uPmludCBtYWluPC9kZWZpbml0aW9uPgorLSAgICAgICAgPGFyZ3Nz dHJpbmc+KCk8L2FyZ3NzdHJpbmc+CistICAgICAgICA8bmFtZT5tYWluPC9uYW1lPgorLSAgICAg ICAgPGJyaWVmZGVzY3JpcHRpb24+CistICAgICAgICA8L2JyaWVmZGVzY3JpcHRpb24+CistICAg ICAgICA8ZGV0YWlsZWRkZXNjcmlwdGlvbj4KKy0gICAgICAgIDwvZGV0YWlsZWRkZXNjcmlwdGlv bj4KKy0gICAgICAgIDxpbmJvZHlkZXNjcmlwdGlvbj4KKy0gICAgICAgIDwvaW5ib2R5ZGVzY3Jp cHRpb24+CistICAgICAgICA8bG9jYXRpb24gZmlsZT0iL2hvbWUvYmVuL2dudXJhZGlvL2dudXJh ZGlvLWNvcmUvc3JjL3B5dGhvbi9nbnVyYWRpby91dGlscy9kb3h5eG1sL2V4YW1wbGUvYWFkdmFy ay5jYyIgbGluZT0iMjEiIGJvZHlmaWxlPSIvaG9tZS9iZW4vZ251cmFkaW8vZ251cmFkaW8tY29y ZS9zcmMvcHl0aG9uL2dudXJhZGlvL3V0aWxzL2RveHl4bWwvZXhhbXBsZS9hYWR2YXJrLmNjIiBi b2R5c3RhcnQ9IjIxIiBib2R5ZW5kPSIyOCIvPgorLSAgICAgIDwvbWVtYmVyZGVmPgorLSAgICAg IDwvc2VjdGlvbmRlZj4KKy0gICAgPGJyaWVmZGVzY3JpcHRpb24+CistICAgIDwvYnJpZWZkZXNj cmlwdGlvbj4KKy0gICAgPGRldGFpbGVkZGVzY3JpcHRpb24+CistICAgIDwvZGV0YWlsZWRkZXNj cmlwdGlvbj4KKy0gICAgPHByb2dyYW1saXN0aW5nPgorLTxjb2RlbGluZSBsaW5lbm89IjEiPjxo aWdobGlnaHQgY2xhc3M9InByZXByb2Nlc3NvciI+I2luY2x1ZGU8c3AvPiZsdDtpb3N0cmVhbSZn dDs8L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjwvaGlnaGxpZ2h0PjwvY29k ZWxpbmU+CistPGNvZGVsaW5lIGxpbmVubz0iMiI+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48 L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpbmNsdWRlPHNwLz4m cXVvdDthYWR2YXJrLmgmcXVvdDs8L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwi PjwvaGlnaGxpZ2h0PjwvY29kZWxpbmU+CistPGNvZGVsaW5lIGxpbmVubz0iMyI+PGhpZ2hsaWdo dCBjbGFzcz0ibm9ybWFsIj48L2hpZ2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5l bm89IjQiPjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBj bGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJub3Jt YWwiPjxzcC8+PHJlZiByZWZpZD0iY2xhc3NBYWR2YXJrXzFhYmQwNjFhYTVmOTk4MDAyZTcyMDgw YTM0ZjUxMmEwNTkiIGtpbmRyZWY9Im1lbWJlciIgdG9vbHRpcD0iT3V0cHV0cyB0aGUgdml0YWwg YWFkdmFyayBzdGF0aXN0aWNzLiI+QWFkdmFyazo6cHJpbnQ8L3JlZj4oKTxzcC8+ezwvaGlnaGxp Z2h0PjwvY29kZWxpbmU+CistPGNvZGVsaW5lIGxpbmVubz0iNSI+PGhpZ2hsaWdodCBjbGFzcz0i bm9ybWFsIj48c3AvPjxzcC8+c3RkOjpjb3V0PHNwLz4mbHQ7Jmx0OzxzcC8+PC9oaWdobGlnaHQ+ PGhpZ2hsaWdodCBjbGFzcz0ic3RyaW5nbGl0ZXJhbCI+JnF1b3Q7YWFkdmFyazxzcC8+aXM8c3Av PiZxdW90OzwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PHNwLz4mbHQ7Jmx0 OzxzcC8+YWFkdmFya25lc3M8c3AvPiZsdDsmbHQ7PHNwLz48L2hpZ2hsaWdodD48aGlnaGxpZ2h0 IGNsYXNzPSJzdHJpbmdsaXRlcmFsIj4mcXVvdDsvMTA8c3AvPmFhZHZhcmt5JnF1b3Q7PC9oaWdo bGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48c3AvPiZsdDsmbHQ7PHNwLz5zdGQ6OmVu ZGw7PC9oaWdobGlnaHQ+PC9jb2RlbGluZT4KKy08Y29kZWxpbmUgbGluZW5vPSI2Ij48aGlnaGxp Z2h0IGNsYXNzPSJub3JtYWwiPn08L2hpZ2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBs aW5lbm89IjciPjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PC9oaWdobGlnaHQ+PC9jb2RlbGlu ZT4KKy08Y29kZWxpbmUgbGluZW5vPSI4Ij48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjxyZWYg cmVmaWQ9ImNsYXNzQWFkdmFya18xYWRmMWE0Yjk3YTY0MTQxMWE3NGEwNGFiMzEyNDg0NDYyIiBr aW5kcmVmPSJtZW1iZXIiPkFhZHZhcms6OkFhZHZhcms8L3JlZj4oPC9oaWdobGlnaHQ+PGhpZ2hs aWdodCBjbGFzcz0ia2V5d29yZHR5cGUiPmludDwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9 Im5vcm1hbCI+PHNwLz5hYW5lc3MpOjxzcC8+YWFkdmFya25lc3MoYWFuZXNzKTxzcC8+e308L2hp Z2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89IjkiPjxoaWdobGlnaHQgY2xh c3M9Im5vcm1hbCI+PC9oaWdobGlnaHQ+PC9jb2RlbGluZT4KKy08Y29kZWxpbmUgbGluZW5vPSIx MCI+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNz PSJrZXl3b3JkdHlwZSI+Ym9vbDwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+ PHNwLz5hYWR2YXJreV9lbm91Z2goPHJlZiByZWZpZD0iY2xhc3NBYWR2YXJrIiBraW5kcmVmPSJj b21wb3VuZCIgdG9vbHRpcD0iTW9kZWxzIHRoZSBtYW1tYWwgQWFkdmFyay4iPkFhZHZhcms8L3Jl Zj48c3AvPmFhZCk8c3AvPns8L2hpZ2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5l bm89IjExIj48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjxzcC8+PHNwLz48L2hpZ2hsaWdodD48 aGlnaGxpZ2h0IGNsYXNzPSJrZXl3b3JkZmxvdyI+aWY8L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNs YXNzPSJub3JtYWwiPjxzcC8+KGFhZC5nZXRfYWFkdmFya25lc3MoKTxzcC8+Jmd0OzxzcC8+Nik8 L2hpZ2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89IjEyIj48aGlnaGxpZ2h0 IGNsYXNzPSJub3JtYWwiPjxzcC8+PHNwLz48c3AvPjxzcC8+PC9oaWdobGlnaHQ+PGhpZ2hsaWdo dCBjbGFzcz0ia2V5d29yZGZsb3ciPnJldHVybjwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9 Im5vcm1hbCI+PHNwLz48L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJrZXl3b3JkIj50cnVl PC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj47PC9oaWdobGlnaHQ+PC9jb2Rl bGluZT4KKy08Y29kZWxpbmUgbGluZW5vPSIxMyI+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48 c3AvPjxzcC8+PC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ia2V5d29yZGZsb3ciPmVsc2U8 L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjwvaGlnaGxpZ2h0PjwvY29kZWxp bmU+CistPGNvZGVsaW5lIGxpbmVubz0iMTQiPjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PHNw Lz48c3AvPjxzcC8+PHNwLz48L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJrZXl3b3JkZmxv dyI+cmV0dXJuPC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48c3AvPjwvaGln aGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9ImtleXdvcmQiPmZhbHNlPC9oaWdobGlnaHQ+PGhpZ2hs aWdodCBjbGFzcz0ibm9ybWFsIj47PC9oaWdobGlnaHQ+PC9jb2RlbGluZT4KKy08Y29kZWxpbmUg bGluZW5vPSIxNSI+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj59PC9oaWdobGlnaHQ+PC9jb2Rl bGluZT4KKy08Y29kZWxpbmUgbGluZW5vPSIxNiI+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48 L2hpZ2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89IjE3Ij48aGlnaGxpZ2h0 IGNsYXNzPSJub3JtYWwiPjwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9ImtleXdvcmR0eXBl Ij5pbnQ8L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjxzcC8+QWFkdmFyazo6 Z2V0X2FhZHZhcmtuZXNzKCk8c3AvPns8L2hpZ2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGlu ZSBsaW5lbm89IjE4Ij48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjxzcC8+PHNwLz48L2hpZ2hs aWdodD48aGlnaGxpZ2h0IGNsYXNzPSJrZXl3b3JkZmxvdyI+cmV0dXJuPC9oaWdobGlnaHQ+PGhp Z2hsaWdodCBjbGFzcz0ibm9ybWFsIj48c3AvPmFhZHZhcmtuZXNzOzwvaGlnaGxpZ2h0PjwvY29k ZWxpbmU+CistPGNvZGVsaW5lIGxpbmVubz0iMTkiPjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+ fTwvaGlnaGxpZ2h0PjwvY29kZWxpbmU+CistPGNvZGVsaW5lIGxpbmVubz0iMjAiPjxoaWdobGln aHQgY2xhc3M9Im5vcm1hbCI+PC9oaWdobGlnaHQ+PC9jb2RlbGluZT4KKy08Y29kZWxpbmUgbGlu ZW5vPSIyMSI+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48L2hpZ2hsaWdodD48aGlnaGxpZ2h0 IGNsYXNzPSJrZXl3b3JkdHlwZSI+aW50PC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ibm9y bWFsIj48c3AvPm1haW4oKTxzcC8+ezwvaGlnaGxpZ2h0PjwvY29kZWxpbmU+CistPGNvZGVsaW5l IGxpbmVubz0iMjIiPjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PHNwLz48c3AvPjxyZWYgcmVm aWQ9ImNsYXNzQWFkdmFyayIga2luZHJlZj0iY29tcG91bmQiIHRvb2x0aXA9Ik1vZGVscyB0aGUg bWFtbWFsIEFhZHZhcmsuIj5BYWR2YXJrPC9yZWY+PHNwLz5hcm9sZDxzcC8+PTxzcC8+PHJlZiBy ZWZpZD0iY2xhc3NBYWR2YXJrIiBraW5kcmVmPSJjb21wb3VuZCIgdG9vbHRpcD0iTW9kZWxzIHRo ZSBtYW1tYWwgQWFkdmFyay4iPkFhZHZhcms8L3JlZj4oNik7PC9oaWdobGlnaHQ+PC9jb2RlbGlu ZT4KKy08Y29kZWxpbmUgbGluZW5vPSIyMyI+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48c3Av PjxzcC8+YXJvbGQuPHJlZiByZWZpZD0iY2xhc3NBYWR2YXJrXzFhYmQwNjFhYTVmOTk4MDAyZTcy MDgwYTM0ZjUxMmEwNTkiIGtpbmRyZWY9Im1lbWJlciIgdG9vbHRpcD0iT3V0cHV0cyB0aGUgdml0 YWwgYWFkdmFyayBzdGF0aXN0aWNzLiI+cHJpbnQ8L3JlZj4oKTs8L2hpZ2hsaWdodD48L2NvZGVs aW5lPgorLTxjb2RlbGluZSBsaW5lbm89IjI0Ij48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjxz cC8+PHNwLz48L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJrZXl3b3JkZmxvdyI+aWY8L2hp Z2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjxzcC8+KGFhZHZhcmt5X2Vub3VnaChh cm9sZCkpPC9oaWdobGlnaHQ+PC9jb2RlbGluZT4KKy08Y29kZWxpbmUgbGluZW5vPSIyNSI+PGhp Z2hsaWdodCBjbGFzcz0ibm9ybWFsIj48c3AvPjxzcC8+PHNwLz48c3AvPnN0ZDo6Y291dDxzcC8+ Jmx0OyZsdDs8c3AvPjwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9InN0cmluZ2xpdGVyYWwi PiZxdW90O0hlPHNwLz5pczxzcC8+YWFkdmFya3k8c3AvPmVub3VnaCZxdW90OzwvaGlnaGxpZ2h0 PjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PHNwLz4mbHQ7Jmx0OzxzcC8+c3RkOjplbmRsOzwv aGlnaGxpZ2h0PjwvY29kZWxpbmU+CistPGNvZGVsaW5lIGxpbmVubz0iMjYiPjxoaWdobGlnaHQg Y2xhc3M9Im5vcm1hbCI+PHNwLz48c3AvPjwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9Imtl eXdvcmRmbG93Ij5lbHNlPC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48L2hp Z2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89IjI3Ij48aGlnaGxpZ2h0IGNs YXNzPSJub3JtYWwiPjxzcC8+PHNwLz48c3AvPjxzcC8+c3RkOjpjb3V0PHNwLz4mbHQ7Jmx0Ozxz cC8+PC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ic3RyaW5nbGl0ZXJhbCI+JnF1b3Q7SGU8 c3AvPmlzPHNwLz5ub3Q8c3AvPmFhZHZhcmt5PHNwLz5lbm91Z2gmcXVvdDs8L2hpZ2hsaWdodD48 aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjxzcC8+Jmx0OyZsdDs8c3AvPnN0ZDo6ZW5kbDs8L2hp Z2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89IjI4Ij48aGlnaGxpZ2h0IGNs YXNzPSJub3JtYWwiPn08L2hpZ2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89 IjI5Ij48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjwvaGlnaGxpZ2h0PjwvY29kZWxpbmU+Cist ICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CistICAgIDxsb2NhdGlvbiBmaWxlPSIvaG9tZS9iZW4vZ251 cmFkaW8vZ251cmFkaW8tY29yZS9zcmMvcHl0aG9uL2dudXJhZGlvL3V0aWxzL2RveHl4bWwvZXhh bXBsZS9hYWR2YXJrLmNjIi8+CistICA8L2NvbXBvdW5kZGVmPgorLTwvZG94eWdlbj4KK2RpZmYg LS1naXQgYS9kb2NzL2RveHlnZW4vZG94eXhtbC9leGFtcGxlL3htbC9hYWR2YXJrXzhoLnhtbCBi L2RvY3MvZG94eWdlbi9kb3h5eG1sL2V4YW1wbGUveG1sL2FhZHZhcmtfOGgueG1sCitkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGExODU0YjYuLjAwMDAwMDAKKy0tLSBkb2NzL2RveHln ZW4vZG94eXhtbC9leGFtcGxlL3htbC9hYWR2YXJrXzhoLnhtbAorKysrIC9kZXYvbnVsbAorQEAg LTEsNzIgKzAsMCBAQAorLTw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J1VURi04JyBzdGFu ZGFsb25lPSdubyc/PgorLTxkb3h5Z2VuIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAw MS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJjb21w b3VuZC54c2QiIHZlcnNpb249IjEuNi4zIj4KKy0gIDxjb21wb3VuZGRlZiBpZD0iYWFkdmFya184 aCIga2luZD0iZmlsZSI+CistICAgIDxjb21wb3VuZG5hbWU+YWFkdmFyay5oPC9jb21wb3VuZG5h bWU+CistICAgIDxpbmNsdWRlcyBsb2NhbD0ibm8iPmlvc3RyZWFtPC9pbmNsdWRlcz4KKy0gICAg PGluY2RlcGdyYXBoPgorLSAgICAgIDxub2RlIGlkPSIzIj4KKy0gICAgICAgIDxsYWJlbD5hYWR2 YXJrLmg8L2xhYmVsPgorLSAgICAgICAgPGxpbmsgcmVmaWQ9ImFhZHZhcmsuaCIvPgorLSAgICAg ICAgPGNoaWxkbm9kZSByZWZpZD0iNCIgcmVsYXRpb249ImluY2x1ZGUiPgorLSAgICAgICAgPC9j aGlsZG5vZGU+CistICAgICAgPC9ub2RlPgorLSAgICAgIDxub2RlIGlkPSI0Ij4KKy0gICAgICAg IDxsYWJlbD5pb3N0cmVhbTwvbGFiZWw+CistICAgICAgPC9ub2RlPgorLSAgICA8L2luY2RlcGdy YXBoPgorLSAgICA8aW5uZXJjbGFzcyByZWZpZD0iY2xhc3NBYWR2YXJrIiBwcm90PSJwdWJsaWMi PkFhZHZhcms8L2lubmVyY2xhc3M+CistICAgICAgPHNlY3Rpb25kZWYga2luZD0iZnVuYyI+Cist ICAgICAgPG1lbWJlcmRlZiBraW5kPSJmdW5jdGlvbiIgaWQ9ImFhZHZhcmtfOGhfMWFjYjUyODU4 NTI0MjEwZWM2ZGRkYzNlMTZkMWU1Mjk0NiIgcHJvdD0icHVibGljIiBzdGF0aWM9Im5vIiBjb25z dD0ibm8iIGV4cGxpY2l0PSJubyIgaW5saW5lPSJubyIgdmlydD0ibm9uLXZpcnR1YWwiPgorLSAg ICAgICAgPHR5cGU+Ym9vbDwvdHlwZT4KKy0gICAgICAgIDxkZWZpbml0aW9uPmJvb2wgYWFkdmFy a3lfZW5vdWdoPC9kZWZpbml0aW9uPgorLSAgICAgICAgPGFyZ3NzdHJpbmc+KEFhZHZhcmsgYWFk KTwvYXJnc3N0cmluZz4KKy0gICAgICAgIDxuYW1lPmFhZHZhcmt5X2Vub3VnaDwvbmFtZT4KKy0g ICAgICAgIDxwYXJhbT4KKy0gICAgICAgICAgPHR5cGU+PHJlZiByZWZpZD0iY2xhc3NBYWR2YXJr IiBraW5kcmVmPSJjb21wb3VuZCI+QWFkdmFyazwvcmVmPjwvdHlwZT4KKy0gICAgICAgICAgPGRl Y2xuYW1lPmFhZDwvZGVjbG5hbWU+CistICAgICAgICA8L3BhcmFtPgorLSAgICAgICAgPGJyaWVm ZGVzY3JpcHRpb24+CistICAgICAgICA8L2JyaWVmZGVzY3JpcHRpb24+CistICAgICAgICA8ZGV0 YWlsZWRkZXNjcmlwdGlvbj4KKy0gICAgICAgIDwvZGV0YWlsZWRkZXNjcmlwdGlvbj4KKy0gICAg ICAgIDxpbmJvZHlkZXNjcmlwdGlvbj4KKy0gICAgICAgIDwvaW5ib2R5ZGVzY3JpcHRpb24+Cist ICAgICAgICA8bG9jYXRpb24gZmlsZT0iL2hvbWUvYmVuL2dudXJhZGlvL2dudXJhZGlvLWNvcmUv c3JjL3B5dGhvbi9nbnVyYWRpby91dGlscy9kb3h5eG1sL2V4YW1wbGUvYWFkdmFyay5oIiBsaW5l PSIyMSIgYm9keWZpbGU9Ii9ob21lL2Jlbi9nbnVyYWRpby9nbnVyYWRpby1jb3JlL3NyYy9weXRo b24vZ251cmFkaW8vdXRpbHMvZG94eXhtbC9leGFtcGxlL2FhZHZhcmsuY2MiIGJvZHlzdGFydD0i MTAiIGJvZHllbmQ9IjE1Ii8+CistICAgICAgPC9tZW1iZXJkZWY+CistICAgICAgPG1lbWJlcmRl ZiBraW5kPSJmdW5jdGlvbiIgaWQ9ImFhZHZhcmtfOGhfMWFlNjZmNmIzMWI1YWQ3NTBmMWZlMDQy YTcwNmE0ZTNkNCIgcHJvdD0icHVibGljIiBzdGF0aWM9Im5vIiBjb25zdD0ibm8iIGV4cGxpY2l0 PSJubyIgaW5saW5lPSJubyIgdmlydD0ibm9uLXZpcnR1YWwiPgorLSAgICAgICAgPHR5cGU+aW50 PC90eXBlPgorLSAgICAgICAgPGRlZmluaXRpb24+aW50IG1haW48L2RlZmluaXRpb24+CistICAg ICAgICA8YXJnc3N0cmluZz4oKTwvYXJnc3N0cmluZz4KKy0gICAgICAgIDxuYW1lPm1haW48L25h bWU+CistICAgICAgICA8YnJpZWZkZXNjcmlwdGlvbj4KKy0gICAgICAgIDwvYnJpZWZkZXNjcmlw dGlvbj4KKy0gICAgICAgIDxkZXRhaWxlZGRlc2NyaXB0aW9uPgorLSAgICAgICAgPC9kZXRhaWxl ZGRlc2NyaXB0aW9uPgorLSAgICAgICAgPGluYm9keWRlc2NyaXB0aW9uPgorLSAgICAgICAgPC9p bmJvZHlkZXNjcmlwdGlvbj4KKy0gICAgICAgIDxsb2NhdGlvbiBmaWxlPSIvaG9tZS9iZW4vZ251 cmFkaW8vZ251cmFkaW8tY29yZS9zcmMvcHl0aG9uL2dudXJhZGlvL3V0aWxzL2RveHl4bWwvZXhh bXBsZS9hYWR2YXJrLmgiIGxpbmU9IjIzIiBib2R5ZmlsZT0iL2hvbWUvYmVuL2dudXJhZGlvL2du dXJhZGlvLWNvcmUvc3JjL3B5dGhvbi9nbnVyYWRpby91dGlscy9kb3h5eG1sL2V4YW1wbGUvYWFk dmFyay5jYyIgYm9keXN0YXJ0PSIyMSIgYm9keWVuZD0iMjgiLz4KKy0gICAgICA8L21lbWJlcmRl Zj4KKy0gICAgICA8L3NlY3Rpb25kZWY+CistICAgIDxicmllZmRlc2NyaXB0aW9uPgorLSAgICA8 L2JyaWVmZGVzY3JpcHRpb24+CistICAgIDxkZXRhaWxlZGRlc2NyaXB0aW9uPgorLSAgICA8L2Rl dGFpbGVkZGVzY3JpcHRpb24+CistICAgIDxwcm9ncmFtbGlzdGluZz4KKy08Y29kZWxpbmUgbGlu ZW5vPSIxIj48aGlnaGxpZ2h0IGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpbmNsdWRlPHNwLz4mbHQ7 aW9zdHJlYW0mZ3Q7PC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48L2hpZ2hs aWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89IjIiPjxoaWdobGlnaHQgY2xhc3M9 Im5vcm1hbCI+PC9oaWdobGlnaHQ+PC9jb2RlbGluZT4KKy08Y29kZWxpbmUgbGluZW5vPSIxMCIg cmVmaWQ9ImNsYXNzQWFkdmFyayIgcmVma2luZD0iY29tcG91bmQiPjxoaWdobGlnaHQgY2xhc3M9 ImtleXdvcmQiPmNsYXNzPHNwLz48L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwi PjxyZWYgcmVmaWQ9ImNsYXNzQWFkdmFyayIga2luZHJlZj0iY29tcG91bmQiIHRvb2x0aXA9Ik1v ZGVscyB0aGUgbWFtbWFsIEFhZHZhcmsuIj5BYWR2YXJrPC9yZWY+PHNwLz57PC9oaWdobGlnaHQ+ PC9jb2RlbGluZT4KKy08Y29kZWxpbmUgbGluZW5vPSIxMSI+PGhpZ2hsaWdodCBjbGFzcz0ibm9y bWFsIj48L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJrZXl3b3JkIj5wdWJsaWM8L2hpZ2hs aWdodD48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjo8L2hpZ2hsaWdodD48L2NvZGVsaW5lPgor LTxjb2RlbGluZSBsaW5lbm89IjEzIj48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjxzcC8+PHNw Lz48L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJrZXl3b3JkdHlwZSI+dm9pZDwvaGlnaGxp Z2h0PjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PHNwLz48cmVmIHJlZmlkPSJjbGFzc0FhZHZh cmtfMWFiZDA2MWFhNWY5OTgwMDJlNzIwODBhMzRmNTEyYTA1OSIga2luZHJlZj0ibWVtYmVyIiB0 b29sdGlwPSJPdXRwdXRzIHRoZSB2aXRhbCBhYWR2YXJrIHN0YXRpc3RpY3MuIj5wcmludDwvcmVm PigpOzwvaGlnaGxpZ2h0PjwvY29kZWxpbmU+CistPGNvZGVsaW5lIGxpbmVubz0iMTUiPjxoaWdo bGlnaHQgY2xhc3M9Im5vcm1hbCI+PHNwLz48c3AvPjxyZWYgcmVmaWQ9ImNsYXNzQWFkdmFya18x YWRmMWE0Yjk3YTY0MTQxMWE3NGEwNGFiMzEyNDg0NDYyIiBraW5kcmVmPSJtZW1iZXIiPkFhZHZh cms8L3JlZj4oPC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ia2V5d29yZHR5cGUiPmludDwv aGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PHNwLz5hYW5lc3MpOzwvaGlnaGxp Z2h0PjwvY29kZWxpbmU+CistPGNvZGVsaW5lIGxpbmVubz0iMTYiPjxoaWdobGlnaHQgY2xhc3M9 Im5vcm1hbCI+PHNwLz48c3AvPjwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9ImtleXdvcmR0 eXBlIj5pbnQ8L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPjxzcC8+Z2V0X2Fh ZHZhcmtuZXNzKCk7PC9oaWdobGlnaHQ+PC9jb2RlbGluZT4KKy08Y29kZWxpbmUgbGluZW5vPSIx NyI+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48L2hpZ2hsaWdodD48aGlnaGxpZ2h0IGNsYXNz PSJrZXl3b3JkIj5wcml2YXRlPC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj46 PC9oaWdobGlnaHQ+PC9jb2RlbGluZT4KKy08Y29kZWxpbmUgbGluZW5vPSIxOCI+PGhpZ2hsaWdo dCBjbGFzcz0ibm9ybWFsIj48c3AvPjxzcC8+PC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0i a2V5d29yZHR5cGUiPmludDwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PHNw Lz5hYWR2YXJrbmVzczs8L2hpZ2hsaWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89 IjE5Ij48aGlnaGxpZ2h0IGNsYXNzPSJub3JtYWwiPn07PC9oaWdobGlnaHQ+PC9jb2RlbGluZT4K Ky08Y29kZWxpbmUgbGluZW5vPSIyMCI+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48L2hpZ2hs aWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89IjIxIj48aGlnaGxpZ2h0IGNsYXNz PSJub3JtYWwiPjwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9ImtleXdvcmR0eXBlIj5ib29s PC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0ibm9ybWFsIj48c3AvPmFhZHZhcmt5X2Vub3Vn aCg8cmVmIHJlZmlkPSJjbGFzc0FhZHZhcmsiIGtpbmRyZWY9ImNvbXBvdW5kIiB0b29sdGlwPSJN b2RlbHMgdGhlIG1hbW1hbCBBYWR2YXJrLiI+QWFkdmFyazwvcmVmPjxzcC8+YWFkKTs8L2hpZ2hs aWdodD48L2NvZGVsaW5lPgorLTxjb2RlbGluZSBsaW5lbm89IjIyIj48aGlnaGxpZ2h0IGNsYXNz PSJub3JtYWwiPjwvaGlnaGxpZ2h0PjwvY29kZWxpbmU+CistPGNvZGVsaW5lIGxpbmVubz0iMjMi PjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PC9oaWdobGlnaHQ+PGhpZ2hsaWdodCBjbGFzcz0i a2V5d29yZHR5cGUiPmludDwvaGlnaGxpZ2h0PjxoaWdobGlnaHQgY2xhc3M9Im5vcm1hbCI+PHNw Lz5tYWluKCk7PC9oaWdobGlnaHQ+PC9jb2RlbGluZT4KKy0gICAgPC9wcm9ncmFtbGlzdGluZz4K Ky0gICAgPGxvY2F0aW9uIGZpbGU9Ii9ob21lL2Jlbi9nbnVyYWRpby9nbnVyYWRpby1jb3JlL3Ny Yy9weXRob24vZ251cmFkaW8vdXRpbHMvZG94eXhtbC9leGFtcGxlL2FhZHZhcmsuaCIvPgorLSAg PC9jb21wb3VuZGRlZj4KKy08L2RveHlnZW4+CitkaWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2VuL2Rv eHl4bWwvZXhhbXBsZS94bWwvY2xhc3NBYWR2YXJrLnhtbCBiL2RvY3MvZG94eWdlbi9kb3h5eG1s L2V4YW1wbGUveG1sL2NsYXNzQWFkdmFyay54bWwKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggNTRmZThiMy4uMDAwMDAwMAorLS0tIGRvY3MvZG94eWdlbi9kb3h5eG1sL2V4YW1wbGUv eG1sL2NsYXNzQWFkdmFyay54bWwKKysrKyAvZGV2L251bGwKK0BAIC0xLDg2ICswLDAgQEAKKy08 P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdVVEYtOCcgc3RhbmRhbG9uZT0nbm8nPz4KKy08 ZG94eWdlbiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3Rh bmNlIiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iY29tcG91bmQueHNkIiB2ZXJzaW9u PSIxLjYuMyI+CistICA8Y29tcG91bmRkZWYgaWQ9ImNsYXNzQWFkdmFyayIga2luZD0iY2xhc3Mi IHByb3Q9InB1YmxpYyI+CistICAgIDxjb21wb3VuZG5hbWU+QWFkdmFyazwvY29tcG91bmRuYW1l PgorLSAgICA8aW5jbHVkZXMgcmVmaWQ9ImFhZHZhcmtfOGgiIGxvY2FsPSJubyI+YWFkdmFyay5o PC9pbmNsdWRlcz4KKy0gICAgICA8c2VjdGlvbmRlZiBraW5kPSJwcml2YXRlLWF0dHJpYiI+Cist ICAgICAgPG1lbWJlcmRlZiBraW5kPSJ2YXJpYWJsZSIgaWQ9ImNsYXNzQWFkdmFya18xYWI3OWVi NThkN2JiOWQ1ZGRmYTVkNmY3ODM4MzZjYWI5IiBwcm90PSJwcml2YXRlIiBzdGF0aWM9Im5vIiBt dXRhYmxlPSJubyI+CistICAgICAgICA8dHlwZT5pbnQ8L3R5cGU+CistICAgICAgICA8ZGVmaW5p dGlvbj5pbnQgQWFkdmFyazo6YWFkdmFya25lc3M8L2RlZmluaXRpb24+CistICAgICAgICA8YXJn c3N0cmluZz48L2FyZ3NzdHJpbmc+CistICAgICAgICA8bmFtZT5hYWR2YXJrbmVzczwvbmFtZT4K Ky0gICAgICAgIDxicmllZmRlc2NyaXB0aW9uPgorLSAgICAgICAgPC9icmllZmRlc2NyaXB0aW9u PgorLSAgICAgICAgPGRldGFpbGVkZGVzY3JpcHRpb24+CistICAgICAgICA8L2RldGFpbGVkZGVz Y3JpcHRpb24+CistICAgICAgICA8aW5ib2R5ZGVzY3JpcHRpb24+CistICAgICAgICA8L2luYm9k eWRlc2NyaXB0aW9uPgorLSAgICAgICAgPGxvY2F0aW9uIGZpbGU9Ii9ob21lL2Jlbi9nbnVyYWRp by9nbnVyYWRpby1jb3JlL3NyYy9weXRob24vZ251cmFkaW8vdXRpbHMvZG94eXhtbC9leGFtcGxl L2FhZHZhcmsuaCIgbGluZT0iMTgiIGJvZHlmaWxlPSIvaG9tZS9iZW4vZ251cmFkaW8vZ251cmFk aW8tY29yZS9zcmMvcHl0aG9uL2dudXJhZGlvL3V0aWxzL2RveHl4bWwvZXhhbXBsZS9hYWR2YXJr LmgiIGJvZHlzdGFydD0iMTgiIGJvZHllbmQ9Ii0xIi8+CistICAgICAgPC9tZW1iZXJkZWY+Cist ICAgICAgPC9zZWN0aW9uZGVmPgorLSAgICAgIDxzZWN0aW9uZGVmIGtpbmQ9InB1YmxpYy1mdW5j Ij4KKy0gICAgICA8bWVtYmVyZGVmIGtpbmQ9ImZ1bmN0aW9uIiBpZD0iY2xhc3NBYWR2YXJrXzFh YmQwNjFhYTVmOTk4MDAyZTcyMDgwYTM0ZjUxMmEwNTkiIHByb3Q9InB1YmxpYyIgc3RhdGljPSJu byIgY29uc3Q9Im5vIiBleHBsaWNpdD0ibm8iIGlubGluZT0ibm8iIHZpcnQ9Im5vbi12aXJ0dWFs Ij4KKy0gICAgICAgIDx0eXBlPnZvaWQ8L3R5cGU+CistICAgICAgICA8ZGVmaW5pdGlvbj52b2lk IEFhZHZhcms6OnByaW50PC9kZWZpbml0aW9uPgorLSAgICAgICAgPGFyZ3NzdHJpbmc+KCk8L2Fy Z3NzdHJpbmc+CistICAgICAgICA8bmFtZT5wcmludDwvbmFtZT4KKy0gICAgICAgIDxicmllZmRl c2NyaXB0aW9uPgorLTxwYXJhPk91dHB1dHMgdGhlIHZpdGFsIGFhZHZhcmsgc3RhdGlzdGljcy4g PC9wYXJhPiAgICAgICAgPC9icmllZmRlc2NyaXB0aW9uPgorLSAgICAgICAgPGRldGFpbGVkZGVz Y3JpcHRpb24+CistICAgICAgICA8L2RldGFpbGVkZGVzY3JpcHRpb24+CistICAgICAgICA8aW5i b2R5ZGVzY3JpcHRpb24+CistICAgICAgICA8L2luYm9keWRlc2NyaXB0aW9uPgorLSAgICAgICAg PGxvY2F0aW9uIGZpbGU9Ii9ob21lL2Jlbi9nbnVyYWRpby9nbnVyYWRpby1jb3JlL3NyYy9weXRo b24vZ251cmFkaW8vdXRpbHMvZG94eXhtbC9leGFtcGxlL2FhZHZhcmsuaCIgbGluZT0iMTMiIGJv ZHlmaWxlPSIvaG9tZS9iZW4vZ251cmFkaW8vZ251cmFkaW8tY29yZS9zcmMvcHl0aG9uL2dudXJh ZGlvL3V0aWxzL2RveHl4bWwvZXhhbXBsZS9hYWR2YXJrLmNjIiBib2R5c3RhcnQ9IjQiIGJvZHll bmQ9IjYiLz4KKy0gICAgICA8L21lbWJlcmRlZj4KKy0gICAgICA8bWVtYmVyZGVmIGtpbmQ9ImZ1 bmN0aW9uIiBpZD0iY2xhc3NBYWR2YXJrXzFhZGYxYTRiOTdhNjQxNDExYTc0YTA0YWIzMTI0ODQ0 NjIiIHByb3Q9InB1YmxpYyIgc3RhdGljPSJubyIgY29uc3Q9Im5vIiBleHBsaWNpdD0ibm8iIGlu bGluZT0ibm8iIHZpcnQ9Im5vbi12aXJ0dWFsIj4KKy0gICAgICAgIDx0eXBlPjwvdHlwZT4KKy0g ICAgICAgIDxkZWZpbml0aW9uPkFhZHZhcms6OkFhZHZhcms8L2RlZmluaXRpb24+CistICAgICAg ICA8YXJnc3N0cmluZz4oaW50IGFhbmVzcyk8L2FyZ3NzdHJpbmc+CistICAgICAgICA8bmFtZT5B YWR2YXJrPC9uYW1lPgorLSAgICAgICAgPHBhcmFtPgorLSAgICAgICAgICA8dHlwZT5pbnQ8L3R5 cGU+CistICAgICAgICAgIDxkZWNsbmFtZT5hYW5lc3M8L2RlY2xuYW1lPgorLSAgICAgICAgPC9w YXJhbT4KKy0gICAgICAgIDxicmllZmRlc2NyaXB0aW9uPgorLSAgICAgICAgPC9icmllZmRlc2Ny aXB0aW9uPgorLSAgICAgICAgPGRldGFpbGVkZGVzY3JpcHRpb24+CistPHBhcmE+PHBhcmFtZXRl cmxpc3Qga2luZD0icGFyYW0iPjxwYXJhbWV0ZXJpdGVtPgorLTxwYXJhbWV0ZXJuYW1lbGlzdD4K Ky08cGFyYW1ldGVybmFtZT5hYW5lc3M8L3BhcmFtZXRlcm5hbWU+CistPC9wYXJhbWV0ZXJuYW1l bGlzdD4KKy08cGFyYW1ldGVyZGVzY3JpcHRpb24+CistPHBhcmE+VGhlIGFhZHZhcmtuZXNzIG9m IGFuIGFhZHZhcmsgaXMgYSBtZWFzdXJlIG9mIGhvdyBhYWR2YXJreSBpdCBpcy4gPC9wYXJhPjwv cGFyYW1ldGVyZGVzY3JpcHRpb24+CistPC9wYXJhbWV0ZXJpdGVtPgorLTwvcGFyYW1ldGVybGlz dD4KKy08L3BhcmE+ICAgICAgICA8L2RldGFpbGVkZGVzY3JpcHRpb24+CistICAgICAgICA8aW5i b2R5ZGVzY3JpcHRpb24+CistICAgICAgICA8L2luYm9keWRlc2NyaXB0aW9uPgorLSAgICAgICAg PGxvY2F0aW9uIGZpbGU9Ii9ob21lL2Jlbi9nbnVyYWRpby9nbnVyYWRpby1jb3JlL3NyYy9weXRo b24vZ251cmFkaW8vdXRpbHMvZG94eXhtbC9leGFtcGxlL2FhZHZhcmsuaCIgbGluZT0iMTUiIGJv ZHlmaWxlPSIvaG9tZS9iZW4vZ251cmFkaW8vZ251cmFkaW8tY29yZS9zcmMvcHl0aG9uL2dudXJh ZGlvL3V0aWxzL2RveHl4bWwvZXhhbXBsZS9hYWR2YXJrLmNjIiBib2R5c3RhcnQ9IjgiIGJvZHll bmQ9IjgiLz4KKy0gICAgICA8L21lbWJlcmRlZj4KKy0gICAgICA8bWVtYmVyZGVmIGtpbmQ9ImZ1 bmN0aW9uIiBpZD0iY2xhc3NBYWR2YXJrXzFhZmZkMmFkYTBhODU4MDdlZmNiZTI2NjE1YTg0OGY1 M2UiIHByb3Q9InB1YmxpYyIgc3RhdGljPSJubyIgY29uc3Q9Im5vIiBleHBsaWNpdD0ibm8iIGlu bGluZT0ibm8iIHZpcnQ9Im5vbi12aXJ0dWFsIj4KKy0gICAgICAgIDx0eXBlPmludDwvdHlwZT4K Ky0gICAgICAgIDxkZWZpbml0aW9uPmludCBBYWR2YXJrOjpnZXRfYWFkdmFya25lc3M8L2RlZmlu aXRpb24+CistICAgICAgICA8YXJnc3N0cmluZz4oKTwvYXJnc3N0cmluZz4KKy0gICAgICAgIDxu YW1lPmdldF9hYWR2YXJrbmVzczwvbmFtZT4KKy0gICAgICAgIDxicmllZmRlc2NyaXB0aW9uPgor LSAgICAgICAgPC9icmllZmRlc2NyaXB0aW9uPgorLSAgICAgICAgPGRldGFpbGVkZGVzY3JpcHRp b24+CistICAgICAgICA8L2RldGFpbGVkZGVzY3JpcHRpb24+CistICAgICAgICA8aW5ib2R5ZGVz Y3JpcHRpb24+CistICAgICAgICA8L2luYm9keWRlc2NyaXB0aW9uPgorLSAgICAgICAgPGxvY2F0 aW9uIGZpbGU9Ii9ob21lL2Jlbi9nbnVyYWRpby9nbnVyYWRpby1jb3JlL3NyYy9weXRob24vZ251 cmFkaW8vdXRpbHMvZG94eXhtbC9leGFtcGxlL2FhZHZhcmsuaCIgbGluZT0iMTYiIGJvZHlmaWxl PSIvaG9tZS9iZW4vZ251cmFkaW8vZ251cmFkaW8tY29yZS9zcmMvcHl0aG9uL2dudXJhZGlvL3V0 aWxzL2RveHl4bWwvZXhhbXBsZS9hYWR2YXJrLmNjIiBib2R5c3RhcnQ9IjE3IiBib2R5ZW5kPSIx OSIvPgorLSAgICAgIDwvbWVtYmVyZGVmPgorLSAgICAgIDwvc2VjdGlvbmRlZj4KKy0gICAgPGJy aWVmZGVzY3JpcHRpb24+CistPHBhcmE+TW9kZWxzIHRoZSBtYW1tYWwgPHJlZiByZWZpZD0iY2xh c3NBYWR2YXJrIiBraW5kcmVmPSJjb21wb3VuZCI+QWFkdmFyazwvcmVmPi4gPC9wYXJhPiAgICA8 L2JyaWVmZGVzY3JpcHRpb24+CistICAgIDxkZXRhaWxlZGRlc2NyaXB0aW9uPgorLTxwYXJhPlNh ZGx5IHRoZSBtb2RlbCBpcyBpbmNvbXBsZXRlIGFuZCBjYW5ub3QgY2FwdHVyZSBhbGwgYXNwZWN0 cyBvZiBhbiBhYWR2YXJrIHlldC48L3BhcmE+PHBhcmE+VGhpcyBsaW5lIGlzIHVuaW5mb3JtYXRp dmUgYW5kIGlzIG9ubHkgdG8gdGVzdCBsaW5lIGJyZWFrcyBpbiB0aGUgY29tbWVudHMuIDwvcGFy YT4gICAgPC9kZXRhaWxlZGRlc2NyaXB0aW9uPgorLSAgICA8bG9jYXRpb24gZmlsZT0iL2hvbWUv YmVuL2dudXJhZGlvL2dudXJhZGlvLWNvcmUvc3JjL3B5dGhvbi9nbnVyYWRpby91dGlscy9kb3h5 eG1sL2V4YW1wbGUvYWFkdmFyay5oIiBsaW5lPSIxMCIgYm9keWZpbGU9Ii9ob21lL2Jlbi9nbnVy YWRpby9nbnVyYWRpby1jb3JlL3NyYy9weXRob24vZ251cmFkaW8vdXRpbHMvZG94eXhtbC9leGFt cGxlL2FhZHZhcmsuaCIgYm9keXN0YXJ0PSIxMCIgYm9keWVuZD0iMTkiLz4KKy0gICAgPGxpc3Rv ZmFsbG1lbWJlcnM+CistICAgICAgPG1lbWJlciByZWZpZD0iY2xhc3NBYWR2YXJrXzFhZGYxYTRi OTdhNjQxNDExYTc0YTA0YWIzMTI0ODQ0NjIiIHByb3Q9InB1YmxpYyIgdmlydD0ibm9uLXZpcnR1 YWwiPjxzY29wZT5BYWR2YXJrPC9zY29wZT48bmFtZT5BYWR2YXJrPC9uYW1lPjwvbWVtYmVyPgor LSAgICAgIDxtZW1iZXIgcmVmaWQ9ImNsYXNzQWFkdmFya18xYWI3OWViNThkN2JiOWQ1ZGRmYTVk NmY3ODM4MzZjYWI5IiBwcm90PSJwcml2YXRlIiB2aXJ0PSJub24tdmlydHVhbCI+PHNjb3BlPkFh ZHZhcms8L3Njb3BlPjxuYW1lPmFhZHZhcmtuZXNzPC9uYW1lPjwvbWVtYmVyPgorLSAgICAgIDxt ZW1iZXIgcmVmaWQ9ImNsYXNzQWFkdmFya18xYWZmZDJhZGEwYTg1ODA3ZWZjYmUyNjYxNWE4NDhm NTNlIiBwcm90PSJwdWJsaWMiIHZpcnQ9Im5vbi12aXJ0dWFsIj48c2NvcGU+QWFkdmFyazwvc2Nv cGU+PG5hbWU+Z2V0X2FhZHZhcmtuZXNzPC9uYW1lPjwvbWVtYmVyPgorLSAgICAgIDxtZW1iZXIg cmVmaWQ9ImNsYXNzQWFkdmFya18xYWJkMDYxYWE1Zjk5ODAwMmU3MjA4MGEzNGY1MTJhMDU5IiBw cm90PSJwdWJsaWMiIHZpcnQ9Im5vbi12aXJ0dWFsIj48c2NvcGU+QWFkdmFyazwvc2NvcGU+PG5h bWU+cHJpbnQ8L25hbWU+PC9tZW1iZXI+CistICAgIDwvbGlzdG9mYWxsbWVtYmVycz4KKy0gIDwv Y29tcG91bmRkZWY+CistPC9kb3h5Z2VuPgorZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdlbi9kb3h5 eG1sL2V4YW1wbGUveG1sL2NvbWJpbmUueHNsdCBiL2RvY3MvZG94eWdlbi9kb3h5eG1sL2V4YW1w bGUveG1sL2NvbWJpbmUueHNsdAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA2ZGUy MDNhLi4wMDAwMDAwCistLS0gZG9jcy9kb3h5Z2VuL2RveHl4bWwvZXhhbXBsZS94bWwvY29tYmlu ZS54c2x0CisrKysgL2Rldi9udWxsCitAQCAtMSwxNSArMCwwIEBACistPCEtLSBYU0xUIHNjcmlw dCB0byBjb21iaW5lIHRoZSBnZW5lcmF0ZWQgb3V0cHV0IGludG8gYSBzaW5nbGUgZmlsZS4KKy0g ICAgIElmIHlvdSBoYXZlIHhzbHRwcm9jIHlvdSBjb3VsZCB1c2U6CistICAgICB4c2x0cHJvYyBj b21iaW5lLnhzbHQgaW5kZXgueG1sID5hbGwueG1sCistLS0+CistPHhzbDpzdHlsZXNoZWV0IHht bG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIx LjAiPgorLSAgPHhzbDpvdXRwdXQgbWV0aG9kPSJ4bWwiIHZlcnNpb249IjEuMCIgaW5kZW50PSJ5 ZXMiIHN0YW5kYWxvbmU9InllcyIgLz4KKy0gIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgorLSAg ICA8ZG94eWdlbiB2ZXJzaW9uPSJ7ZG94eWdlbmluZGV4L0B2ZXJzaW9ufSI+CistICAgICAgPCEt LSBMb2FkIGFsbCBkb3hnZW4gZ2VuZXJhdGVkIHhtbCBmaWxlcyAtLT4KKy0gICAgICA8eHNsOmZv ci1lYWNoIHNlbGVjdD0iZG94eWdlbmluZGV4L2NvbXBvdW5kIj4KKy0gICAgICAgIDx4c2w6Y29w eS1vZiBzZWxlY3Q9ImRvY3VtZW50KCBjb25jYXQoIEByZWZpZCwgJy54bWwnICkgKS9kb3h5Z2Vu LyoiIC8+CistICAgICAgPC94c2w6Zm9yLWVhY2g+CistICAgIDwvZG94eWdlbj4KKy0gIDwveHNs OnRlbXBsYXRlPgorLTwveHNsOnN0eWxlc2hlZXQ+CitkaWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2Vu L2RveHl4bWwvZXhhbXBsZS94bWwvY29tcG91bmQueHNkIGIvZG9jcy9kb3h5Z2VuL2RveHl4bWwv ZXhhbXBsZS94bWwvY29tcG91bmQueHNkCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDViYjU2NzAuLjAwMDAwMDAKKy0tLSBkb2NzL2RveHlnZW4vZG94eXhtbC9leGFtcGxlL3htbC9j b21wb3VuZC54c2QKKysrKyAvZGV2L251bGwKK0BAIC0xLDgxNCArMCwwIEBACistPD94bWwgdmVy c2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnID8+CistPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJo dHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CistICA8eHNkOmVsZW1lbnQgbmFtZT0i ZG94eWdlbiIgdHlwZT0iRG94eWdlblR5cGUiLz4KKy0KKy0gIDwhLS0gQ29tcGxleCB0eXBlcyAt LT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iRG94eWdlblR5cGUiPgorLSAgICA8eHNk OnNlcXVlbmNlIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFt ZT0iY29tcG91bmRkZWYiIHR5cGU9ImNvbXBvdW5kZGVmVHlwZSIgbWluT2NjdXJzPSIwIiAvPgor LSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idmVyc2lvbiIg dHlwZT0iRG94VmVyc2lvbk51bWJlciIgdXNlPSJyZXF1aXJlZCIgLz4KKy0gIDwveHNkOmNvbXBs ZXhUeXBlPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJjb21wb3VuZGRlZlR5cGUiPgor LSAgICA8eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21wb3VuZG5h bWUiIHR5cGU9InhzZDpzdHJpbmciLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idGl0bGUi IHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQg bmFtZT0iYmFzZWNvbXBvdW5kcmVmIiB0eXBlPSJjb21wb3VuZFJlZlR5cGUiIG1pbk9jY3Vycz0i MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImRl cml2ZWRjb21wb3VuZHJlZiIgdHlwZT0iY29tcG91bmRSZWZUeXBlIiBtaW5PY2N1cnM9IjAiIG1h eE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJpbmNsdWRl cyIgdHlwZT0iaW5jVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4K Ky0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaW5jbHVkZWRieSIgdHlwZT0iaW5jVHlwZSIgbWlu T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQg bmFtZT0iaW5jZGVwZ3JhcGgiIHR5cGU9ImdyYXBoVHlwZSIgbWluT2NjdXJzPSIwIiAvPgorLSAg ICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJpbnZpbmNkZXBncmFwaCIgdHlwZT0iZ3JhcGhUeXBlIiBt aW5PY2N1cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImlubmVyZGlyIiB0eXBl PSJyZWZUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICAg IDx4c2Q6ZWxlbWVudCBuYW1lPSJpbm5lcmZpbGUiIHR5cGU9InJlZlR5cGUiIG1pbk9jY3Vycz0i MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9Imlu bmVyY2xhc3MiIHR5cGU9InJlZlR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k ZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImlubmVybmFtZXNwYWNlIiB0eXBlPSJy ZWZUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICAgIDx4 c2Q6ZWxlbWVudCBuYW1lPSJpbm5lcnBhZ2UiIHR5cGU9InJlZlR5cGUiIG1pbk9jY3Vycz0iMCIg bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImlubmVy Z3JvdXAiIHR5cGU9InJlZlR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi IC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InRlbXBsYXRlcGFyYW1saXN0IiB0eXBlPSJ0 ZW1wbGF0ZXBhcmFtbGlzdFR5cGUiIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAgICA8eHNkOmVsZW1l bnQgbmFtZT0ic2VjdGlvbmRlZiIgdHlwZT0ic2VjdGlvbmRlZlR5cGUiIG1pbk9jY3Vycz0iMCIg bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImJyaWVm ZGVzY3JpcHRpb24iIHR5cGU9ImRlc2NyaXB0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPgorLSAg ICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkZXRhaWxlZGRlc2NyaXB0aW9uIiB0eXBlPSJkZXNjcmlw dGlvblR5cGUiIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaW5o ZXJpdGFuY2VncmFwaCIgdHlwZT0iZ3JhcGhUeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAgICAg PHhzZDplbGVtZW50IG5hbWU9ImNvbGxhYm9yYXRpb25ncmFwaCIgdHlwZT0iZ3JhcGhUeXBlIiBt aW5PY2N1cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InByb2dyYW1saXN0aW5n IiB0eXBlPSJsaXN0aW5nVHlwZSIgbWluT2NjdXJzPSIwIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVu dCBuYW1lPSJsb2NhdGlvbiIgdHlwZT0ibG9jYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+Cist ICAgICAgPHhzZDplbGVtZW50IG5hbWU9Imxpc3RvZmFsbG1lbWJlcnMiIHR5cGU9Imxpc3RvZmFs bG1lbWJlcnNUeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAg ICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKy0gICAgPHhz ZDphdHRyaWJ1dGUgbmFtZT0ia2luZCIgdHlwZT0iRG94Q29tcG91bmRLaW5kIiAvPgorLSAgICA8 eHNkOmF0dHJpYnV0ZSBuYW1lPSJwcm90IiB0eXBlPSJEb3hQcm90ZWN0aW9uS2luZCIgLz4KKy0g IDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJsaXN0b2Zh bGxtZW1iZXJzVHlwZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9Im1lbWJlciIgdHlwZT0ibWVtYmVyUmVmVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 cnM9InVuYm91bmRlZCIgLz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+CistICA8L3hzZDpjb21wbGV4 VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0ibWVtYmVyUmVmVHlwZSI+CistICAg IDx4c2Q6c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InNjb3BlIiAvPgorLSAg ICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJuYW1lIiAvPgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0g ICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0icmVmaWQiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICAg IDx4c2Q6YXR0cmlidXRlIG5hbWU9InByb3QiIHR5cGU9IkRveFByb3RlY3Rpb25LaW5kIiAvPgor LSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJ2aXJ0IiB0eXBlPSJEb3hWaXJ0dWFsS2luZCIgLz4K Ky0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYW1iaWd1aXR5c2NvcGUiIHR5cGU9InhzZDpzdHJp bmciIC8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFt ZT0iY29tcG91bmRSZWZUeXBlIiBtaXhlZD0idHJ1ZSI+CistICAgIDx4c2Q6c2ltcGxlQ29udGVu dD4KKy0gICAgICA8eHNkOmV4dGVuc2lvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKy0gICAgICAgIDx4 c2Q6YXR0cmlidXRlIG5hbWU9InJlZmlkIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9Im9wdGlvbmFs IiAvPgorLSAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0icHJvdCIgdHlwZT0iRG94UHJvdGVj dGlvbktpbmQiIC8+CistICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJ2aXJ0IiB0eXBlPSJE b3hWaXJ0dWFsS2luZCIgLz4KKy0gICAgICA8L3hzZDpleHRlbnNpb24+CistICAgIDwveHNkOnNp bXBsZUNvbnRlbnQ+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5 cGUgbmFtZT0icmVpbXBsZW1lbnRUeXBlIiBtaXhlZD0idHJ1ZSI+CistICAgIDx4c2Q6c2ltcGxl Q29udGVudD4KKy0gICAgICA8eHNkOmV4dGVuc2lvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKy0gICAg ICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InJlZmlkIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAg ICAgIDwveHNkOmV4dGVuc2lvbj4KKy0gICAgPC94c2Q6c2ltcGxlQ29udGVudD4KKy0gIDwveHNk OmNvbXBsZXhUeXBlPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJpbmNUeXBlIiBtaXhl ZD0idHJ1ZSI+CistICAgIDx4c2Q6c2ltcGxlQ29udGVudD4KKy0gICAgICA8eHNkOmV4dGVuc2lv biBiYXNlPSJ4c2Q6c3RyaW5nIj4KKy0gICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InJlZmlk IiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibG9j YWwiIHR5cGU9IkRveEJvb2wiIC8+CistICAgICAgPC94c2Q6ZXh0ZW5zaW9uPgorLSAgICA8L3hz ZDpzaW1wbGVDb250ZW50PgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBs ZXhUeXBlIG5hbWU9InJlZlR5cGUiIG1peGVkPSJ0cnVlIj4KKy0gICAgPHhzZDpzaW1wbGVDb250 ZW50PgorLSAgICAgIDx4c2Q6ZXh0ZW5zaW9uIGJhc2U9InhzZDpzdHJpbmciPgorLSAgICAgICAg PHhzZDphdHRyaWJ1dGUgbmFtZT0icmVmaWQiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICAgICAg ICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJwcm90IiB0eXBlPSJEb3hQcm90ZWN0aW9uS2luZCIgdXNl PSJvcHRpb25hbCIvPgorLSAgICAgIDwveHNkOmV4dGVuc2lvbj4KKy0gICAgPC94c2Q6c2ltcGxl Q29udGVudD4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBu YW1lPSJyZWZUZXh0VHlwZSIgbWl4ZWQ9InRydWUiPgorLSAgICA8eHNkOnNpbXBsZUNvbnRlbnQ+ CistICAgICAgPHhzZDpleHRlbnNpb24gYmFzZT0ieHNkOnN0cmluZyI+CistICAgICAgIDx4c2Q6 YXR0cmlidXRlIG5hbWU9InJlZmlkIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgICAgICA8eHNk OmF0dHJpYnV0ZSBuYW1lPSJraW5kcmVmIiB0eXBlPSJEb3hSZWZLaW5kIiAvPgorLSAgICAgICA8 eHNkOmF0dHJpYnV0ZSBuYW1lPSJleHRlcm5hbCIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJvcHRp b25hbCIvPgorLSAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJ0b29sdGlwIiB0eXBlPSJ4c2Q6 c3RyaW5nIiB1c2U9Im9wdGlvbmFsIi8+CistICAgICAgPC94c2Q6ZXh0ZW5zaW9uPgorLSAgICA8 L3hzZDpzaW1wbGVDb250ZW50PgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNv bXBsZXhUeXBlIG5hbWU9InNlY3Rpb25kZWZUeXBlIj4KKy0gICAgPHhzZDpzZXF1ZW5jZT4KKy0g ICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaGVhZGVyIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1 cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiB0eXBlPSJk ZXNjcmlwdGlvblR5cGUiIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFt ZT0ibWVtYmVyZGVmIiB0eXBlPSJtZW1iZXJkZWZUeXBlIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg Lz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImtpbmQi IHR5cGU9IkRveFNlY3Rpb25LaW5kIiAvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8 eHNkOmNvbXBsZXhUeXBlIG5hbWU9Im1lbWJlcmRlZlR5cGUiPgorLSAgICA8eHNkOnNlcXVlbmNl PgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ0ZW1wbGF0ZXBhcmFtbGlzdCIgdHlwZT0idGVt cGxhdGVwYXJhbWxpc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9InR5cGUiIHR5cGU9ImxpbmtlZFRleHRUeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAg ICAgPHhzZDplbGVtZW50IG5hbWU9ImRlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAg ICA8eHNkOmVsZW1lbnQgbmFtZT0iYXJnc3N0cmluZyIgbWluT2NjdXJzPSIwIiAvPgorLSAgICAg IDx4c2Q6ZWxlbWVudCBuYW1lPSJuYW1lIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJy ZWFkIiBtaW5PY2N1cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9IndyaXRlIiBt aW5PY2N1cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImJpdGZpZWxkIiBtaW5P Y2N1cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InJlaW1wbGVtZW50cyIgdHlw ZT0icmVpbXBsZW1lbnRUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAv PgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJyZWltcGxlbWVudGVkYnkiIHR5cGU9InJlaW1w bGVtZW50VHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0gICAg ICA8eHNkOmVsZW1lbnQgbmFtZT0icGFyYW0iIHR5cGU9InBhcmFtVHlwZSIgbWluT2NjdXJzPSIw IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iZW51 bXZhbHVlIiB0eXBlPSJlbnVtdmFsdWVUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i b3VuZGVkIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJpbml0aWFsaXplciIgdHlwZT0i bGlua2VkVGV4dFR5cGUiIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFt ZT0iZXhjZXB0aW9ucyIgdHlwZT0ibGlua2VkVGV4dFR5cGUiIG1pbk9jY3Vycz0iMCIgLz4KKy0g ICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYnJpZWZkZXNjcmlwdGlvbiIgdHlwZT0iZGVzY3JpcHRp b25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImRldGFp bGVkZGVzY3JpcHRpb24iIHR5cGU9ImRlc2NyaXB0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPgor LSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJpbmJvZHlkZXNjcmlwdGlvbiIgdHlwZT0iZGVzY3Jp cHRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9Imxv Y2F0aW9uIiB0eXBlPSJsb2NhdGlvblR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9 InJlZmVyZW5jZXMiIHR5cGU9InJlZmVyZW5jZVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz PSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InJlZmVyZW5jZWRieSIg dHlwZT0icmVmZXJlbmNlVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg Lz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImtpbmQi IHR5cGU9IkRveE1lbWJlcktpbmQiIC8+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImlkIiB0 eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJwcm90IiB0eXBl PSJEb3hQcm90ZWN0aW9uS2luZCIgLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ic3RhdGlj IiB0eXBlPSJEb3hCb29sIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJjb25zdCIgdHlw ZT0iRG94Qm9vbCIgLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iZXhwbGljaXQiIHR5cGU9 IkRveEJvb2wiIC8+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImlubGluZSIgdHlwZT0iRG94 Qm9vbCIgLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idmlydCIgdHlwZT0iRG94VmlydHVh bEtpbmQiIC8+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InZvbGF0aWxlIiB0eXBlPSJEb3hC b29sIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJtdXRhYmxlIiB0eXBlPSJEb3hCb29s IiAvPgorLSAgICA8IS0tIFF0IHByb3BlcnR5IC0tPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1l PSJyZWFkYWJsZSIgdHlwZT0iRG94Qm9vbCIgdXNlPSJvcHRpb25hbCIvPgorLSAgICA8eHNkOmF0 dHJpYnV0ZSBuYW1lPSJ3cml0YWJsZSIgdHlwZT0iRG94Qm9vbCIgdXNlPSJvcHRpb25hbCIvPgor LSAgICA8IS0tIEMrKy9DTEkgdmFyaWFibGUgLS0+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9 ImluaXRvbmx5IiB0eXBlPSJEb3hCb29sIiB1c2U9Im9wdGlvbmFsIi8+CistICAgIDwhLS0gQysr L0NMSSBhbmQgQyMgcHJvcGVydHkgLS0+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InNldHRh YmxlIiB0eXBlPSJEb3hCb29sIiB1c2U9Im9wdGlvbmFsIi8+CistICAgIDx4c2Q6YXR0cmlidXRl IG5hbWU9ImdldHRhYmxlIiB0eXBlPSJEb3hCb29sIiB1c2U9Im9wdGlvbmFsIi8+CistICAgIDwh LS0gQysrL0NMSSBmdW5jdGlvbiAtLT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iZmluYWwi IHR5cGU9IkRveEJvb2wiIHVzZT0ib3B0aW9uYWwiLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFt ZT0ic2VhbGVkIiB0eXBlPSJEb3hCb29sIiB1c2U9Im9wdGlvbmFsIi8+CistICAgIDx4c2Q6YXR0 cmlidXRlIG5hbWU9Im5ldyIgdHlwZT0iRG94Qm9vbCIgdXNlPSJvcHRpb25hbCIvPgorLSAgICA8 IS0tIEMrKy9DTEkgZXZlbnQgLS0+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImFkZCIgdHlw ZT0iRG94Qm9vbCIgdXNlPSJvcHRpb25hbCIvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJy ZW1vdmUiIHR5cGU9IkRveEJvb2wiIHVzZT0ib3B0aW9uYWwiLz4KKy0gICAgPHhzZDphdHRyaWJ1 dGUgbmFtZT0icmFpc2UiIHR5cGU9IkRveEJvb2wiIHVzZT0ib3B0aW9uYWwiLz4KKy0gICAgPCEt LSBPYmplY3RpdmUtQyAyLjAgcHJvdG9jb2wgbWV0aG9kIC0tPgorLSAgICA8eHNkOmF0dHJpYnV0 ZSBuYW1lPSJvcHRpb25hbCIgdHlwZT0iRG94Qm9vbCIgdXNlPSJvcHRpb25hbCIvPgorLSAgICA8 eHNkOmF0dHJpYnV0ZSBuYW1lPSJyZXF1aXJlZCIgdHlwZT0iRG94Qm9vbCIgdXNlPSJvcHRpb25h bCIvPgorLSAgICA8IS0tIE9iamVjdGl2ZS1DIDIuMCBwcm9wZXJ0eSBhY2Nlc3NvciAtLT4KKy0g ICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYWNjZXNzb3IiIHR5cGU9IkRveEFjY2Vzc29yIiB1c2U9 Im9wdGlvbmFsIi8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5 cGUgbmFtZT0iZGVzY3JpcHRpb25UeXBlIiBtaXhlZD0idHJ1ZSI+CistICAgIDx4c2Q6c2VxdWVu Y2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InRpdGxlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBt aW5PY2N1cnM9IjAiLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icGFyYSIgdHlwZT0iZG9j UGFyYVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAg PHhzZDplbGVtZW50IG5hbWU9InNlY3QxIiB0eXBlPSJkb2NTZWN0MVR5cGUiIG1pbk9jY3Vycz0i MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9Imlu dGVybmFsIiB0eXBlPSJkb2NJbnRlcm5hbFR5cGUiIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAgPC94 c2Q6c2VxdWVuY2U+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5 cGUgbmFtZT0iZW51bXZhbHVlVHlwZSIgbWl4ZWQ9InRydWUiPgorLSAgICA8eHNkOnNlcXVlbmNl PgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJuYW1lIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVu dCBuYW1lPSJpbml0aWFsaXplciIgdHlwZT0ibGlua2VkVGV4dFR5cGUiIG1pbk9jY3Vycz0iMCIg Lz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYnJpZWZkZXNjcmlwdGlvbiIgdHlwZT0iZGVz Y3JpcHRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9 ImRldGFpbGVkZGVzY3JpcHRpb24iIHR5cGU9ImRlc2NyaXB0aW9uVHlwZSIgbWluT2NjdXJzPSIw IiAvPgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iaWQi IHR5cGU9InhzZDpzdHJpbmciIC8+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InByb3QiIHR5 cGU9IkRveFByb3RlY3Rpb25LaW5kIiAvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8 eHNkOmNvbXBsZXhUeXBlIG5hbWU9InRlbXBsYXRlcGFyYW1saXN0VHlwZSI+CistICAgIDx4c2Q6 c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InBhcmFtIiB0eXBlPSJwYXJhbVR5 cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgIDwveHNkOnNl cXVlbmNlPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5h bWU9InBhcmFtVHlwZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9InR5cGUiIHR5cGU9ImxpbmtlZFRleHRUeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAg ICAgPHhzZDplbGVtZW50IG5hbWU9ImRlY2xuYW1lIiBtaW5PY2N1cnM9IjAiIC8+CistICAgICAg PHhzZDplbGVtZW50IG5hbWU9ImRlZm5hbWUiIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAgICA8eHNk OmVsZW1lbnQgbmFtZT0iYXJyYXkiIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAgICA8eHNkOmVsZW1l bnQgbmFtZT0iZGVmdmFsIiB0eXBlPSJsaW5rZWRUZXh0VHlwZSIgbWluT2NjdXJzPSIwIiAvPgor LSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJicmllZmRlc2NyaXB0aW9uIiB0eXBlPSJkZXNjcmlw dGlvblR5cGUiIG1pbk9jY3Vycz0iMCIgLz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+CistICA8L3hz ZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0ibGlua2VkVGV4dFR5 cGUiIG1peGVkPSJ0cnVlIj4KKy0gICAgPHhzZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDplbGVtZW50 IG5hbWU9InJlZiIgdHlwZT0icmVmVGV4dFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 bmJvdW5kZWQiIC8+CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+ CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImdyYXBoVHlwZSI+CistICAgIDx4c2Q6c2Vx dWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9Im5vZGUiIHR5cGU9Im5vZGVUeXBlIiBt YXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+CistICA8L3hzZDpj b21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0ibm9kZVR5cGUiPgorLSAg ICA8eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJsYWJlbCIgLz4KKy0g ICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibGluayIgdHlwZT0ibGlua1R5cGUiIG1pbk9jY3Vycz0i MCIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iY2hpbGRub2RlIiB0eXBlPSJjaGlsZG5v ZGVUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICA8L3hz ZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzZDpzdHJp bmciIC8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFt ZT0iY2hpbGRub2RlVHlwZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVt ZW50IG5hbWU9ImVkZ2VsYWJlbCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIv PgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0icmVmaWQi IHR5cGU9InhzZDpzdHJpbmciIC8+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InJlbGF0aW9u IiB0eXBlPSJEb3hHcmFwaFJlbGF0aW9uIiAvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCist ICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImxpbmtUeXBlIj4KKy0gICAgPHhzZDphdHRyaWJ1dGUg bmFtZT0icmVmaWQiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICAgIDx4c2Q6YXR0cmlidXRlIG5h bWU9ImV4dGVybmFsIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9Im9wdGlvbmFsIi8+CistICA8L3hz ZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0ibGlzdGluZ1R5cGUi PgorLSAgICA8eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb2RlbGlu ZSIgdHlwZT0iY29kZWxpbmVUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk IiAvPgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAg PHhzZDpjb21wbGV4VHlwZSBuYW1lPSJjb2RlbGluZVR5cGUiPgorLSAgICA8eHNkOnNlcXVlbmNl PgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJoaWdobGlnaHQiIHR5cGU9ImhpZ2hsaWdodFR5 cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgIDwveHNkOnNl cXVlbmNlPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJsaW5lbm8iIHR5cGU9InhzZDppbnRl Z2VyIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJyZWZpZCIgdHlwZT0ieHNkOnN0cmlu ZyIgLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0icmVma2luZCIgdHlwZT0iRG94UmVmS2lu ZCIgLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iZXh0ZXJuYWwiIHR5cGU9IkRveEJvb2wi IC8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0i aGlnaGxpZ2h0VHlwZSIgbWl4ZWQ9InRydWUiPgorLSAgICA8eHNkOmNob2ljZSBtaW5PY2N1cnM9 IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ic3Ai IC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InJlZiIgdHlwZT0icmVmVGV4dFR5cGUiIC8+ CistICAgIDwveHNkOmNob2ljZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iY2xhc3MiIHR5 cGU9IkRveEhpZ2hsaWdodENsYXNzIiAvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8 eHNkOmNvbXBsZXhUeXBlIG5hbWU9InJlZmVyZW5jZVR5cGUiIG1peGVkPSJ0cnVlIj4KKy0gICAg PHhzZDphdHRyaWJ1dGUgbmFtZT0icmVmaWQiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICAgIDx4 c2Q6YXR0cmlidXRlIG5hbWU9ImNvbXBvdW5kcmVmIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9Im9w dGlvbmFsIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJzdGFydGxpbmUiIHR5cGU9Inhz ZDppbnRlZ2VyIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJlbmRsaW5lIiB0eXBlPSJ4 c2Q6aW50ZWdlciIgLz4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAgPHhzZDpjb21wbGV4 VHlwZSBuYW1lPSJsb2NhdGlvblR5cGUiPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJmaWxl IiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJsaW5lIiB0 eXBlPSJ4c2Q6aW50ZWdlciIgLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYm9keWZpbGUi IHR5cGU9InhzZDpzdHJpbmciIC8+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImJvZHlzdGFy dCIgdHlwZT0ieHNkOmludGVnZXIiIC8+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImJvZHll bmQiIHR5cGU9InhzZDppbnRlZ2VyIiAvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8 eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY1NlY3QxVHlwZSIgbWl4ZWQ9InRydWUiPgorLSAgICA8 eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ0aXRsZSIgdHlwZT0ieHNk OnN0cmluZyIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icGFyYSIgdHlwZT0iZG9jUGFy YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhz ZDplbGVtZW50IG5hbWU9InNlY3QyIiB0eXBlPSJkb2NTZWN0MlR5cGUiIG1pbk9jY3Vycz0iMCIg bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImludGVy bmFsIiB0eXBlPSJkb2NJbnRlcm5hbFMxVHlwZSIgbWluT2NjdXJzPSIwIiAvPgorLSAgICA8L3hz ZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzZDpzdHJp bmciIC8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFt ZT0iZG9jU2VjdDJUeXBlIiBtaXhlZD0idHJ1ZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAg ICAgPHhzZDplbGVtZW50IG5hbWU9InRpdGxlIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgICAg IDx4c2Q6ZWxlbWVudCBuYW1lPSJwYXJhIiB0eXBlPSJkb2NQYXJhVHlwZSIgbWluT2NjdXJzPSIw IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ic2Vj dDMiIHR5cGU9ImRvY1NlY3QzVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl ZCIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaW50ZXJuYWwiIHR5cGU9ImRvY0ludGVy bmFsUzJUeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAgICA8 eHNkOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKy0gIDwveHNkOmNv bXBsZXhUeXBlPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJkb2NTZWN0M1R5cGUiIG1p eGVkPSJ0cnVlIj4KKy0gICAgPHhzZDpzZXF1ZW5jZT4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFt ZT0idGl0bGUiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9 InBhcmEiIHR5cGU9ImRvY1BhcmFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu ZGVkIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzZWN0NCIgdHlwZT0iZG9jU2VjdDRU eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICAgIDx4c2Q6 ZWxlbWVudCBuYW1lPSJpbnRlcm5hbCIgdHlwZT0iZG9jSW50ZXJuYWxTM1R5cGUiIG1pbk9jY3Vy cz0iMCIgLz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9 ImlkIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8 eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY1NlY3Q0VHlwZSIgbWl4ZWQ9InRydWUiPgorLSAgICA8 eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ0aXRsZSIgdHlwZT0ieHNk OnN0cmluZyIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icGFyYSIgdHlwZT0iZG9jUGFy YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhz ZDplbGVtZW50IG5hbWU9ImludGVybmFsIiB0eXBlPSJkb2NJbnRlcm5hbFM0VHlwZSIgbWluT2Nj dXJzPSIwIiAvPgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFt ZT0iaWQiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0g IDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iZG9jSW50ZXJuYWxUeXBlIiBtaXhlZD0idHJ1ZSI+Cist ICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InBhcmEiICB0eXBl PSJkb2NQYXJhVHlwZSIgIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+Cist ICAgICAgPHhzZDplbGVtZW50IG5hbWU9InNlY3QxIiB0eXBlPSJkb2NTZWN0MVR5cGUiIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgIDwveHNkOnNlcXVlbmNlPgor LSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY0lu dGVybmFsUzFUeXBlIiBtaXhlZD0idHJ1ZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAg PHhzZDplbGVtZW50IG5hbWU9InBhcmEiICB0eXBlPSJkb2NQYXJhVHlwZSIgIG1pbk9jY3Vycz0i MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InNl Y3QyIiB0eXBlPSJkb2NTZWN0MlR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k ZWQiIC8+CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCist ICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY0ludGVybmFsUzJUeXBlIiBtaXhlZD0idHJ1ZSI+ CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InBhcmEiICB0 eXBlPSJkb2NQYXJhVHlwZSIgIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+ CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InNlY3QzIiB0eXBlPSJkb2NTZWN0M1R5cGUiIG1p bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgIDwveHNkOnNlcXVlbmNl PgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRv Y0ludGVybmFsUzNUeXBlIiBtaXhlZD0idHJ1ZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAg ICAgPHhzZDplbGVtZW50IG5hbWU9InBhcmEiICB0eXBlPSJkb2NQYXJhVHlwZSIgIG1pbk9jY3Vy cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9 InNlY3QzIiB0eXBlPSJkb2NTZWN0NFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv dW5kZWQiIC8+CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+Cist CistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY0ludGVybmFsUzRUeXBlIiBtaXhlZD0idHJ1 ZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InBhcmEi ICB0eXBlPSJkb2NQYXJhVHlwZSIgIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi IC8+CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8 eHNkOmdyb3VwIG5hbWU9ImRvY1RpdGxlQ21kR3JvdXAiPgorLSAgICA8eHNkOmNob2ljZT4KKy0g ICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idWxpbmsiIHR5cGU9ImRvY1VSTExpbmsiIC8+CistICAg ICAgPHhzZDplbGVtZW50IG5hbWU9ImJvbGQiIHR5cGU9ImRvY01hcmt1cFR5cGUiIC8+CistICAg ICAgPHhzZDplbGVtZW50IG5hbWU9ImVtcGhhc2lzIiB0eXBlPSJkb2NNYXJrdXBUeXBlIiAvPgor LSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21wdXRlcm91dHB1dCIgdHlwZT0iZG9jTWFya3Vw VHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ic3Vic2NyaXB0IiB0eXBlPSJkb2NN YXJrdXBUeXBlIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzdXBlcnNjcmlwdCIgdHlw ZT0iZG9jTWFya3VwVHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iY2VudGVyIiB0 eXBlPSJkb2NNYXJrdXBUeXBlIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzbWFsbCIg dHlwZT0iZG9jTWFya3VwVHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaHRtbG9u bHkiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImxhdGV4 b25seSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iZG90 IiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJhbmNob3Ii IHR5cGU9ImRvY0FuY2hvclR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImZvcm11 bGEiIHR5cGU9ImRvY0Zvcm11bGFUeXBlIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJy ZWYiIHR5cGU9ImRvY1JlZlRleHRUeXBlIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJj b3B5IiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InRy YWRlbWFyayIgdHlwZT0iZG9jRW1wdHlUeXBlIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1l PSJyZWdpc3RlcmVkIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9ImxzcXVvIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9InJzcXVvIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9ImxkcXVvIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9InJkcXVvIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9Im5kYXNoIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9Im1kYXNoIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9InVtbGF1dCIgdHlwZT0iZG9jQ2hhclR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50 IG5hbWU9ImFjdXRlIiB0eXBlPSJkb2NDaGFyVHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQg bmFtZT0iZ3JhdmUiIHR5cGU9ImRvY0NoYXJUeXBlIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBu YW1lPSJjaXJjIiB0eXBlPSJkb2NDaGFyVHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFt ZT0ic2xhc2giIHR5cGU9ImRvY0NoYXJUeXBlIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1l PSJ0aWxkZSIgdHlwZT0iZG9jQ2hhclR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9 ImNlZGlsIiB0eXBlPSJkb2NDaGFyVHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0i cmluZyIgdHlwZT0iZG9jQ2hhclR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InN6 bGlnIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9Im5v bmJyZWFrYWJsZXNwYWNlIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+CistICAgIDwveHNkOmNob2lj ZT4KKy0gIDwveHNkOmdyb3VwPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJkb2NUaXRs ZVR5cGUiIG1peGVkPSJ0cnVlIj4KKy0gICAgPHhzZDpncm91cCByZWY9ImRvY1RpdGxlQ21kR3Jv dXAiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICA8L3hzZDpjb21w bGV4VHlwZT4KKy0KKy0gIDx4c2Q6Z3JvdXAgbmFtZT0iZG9jQ21kR3JvdXAiPgorLSAgICA8eHNk OmNob2ljZT4KKy0gICAgICA8eHNkOmdyb3VwIHJlZj0iZG9jVGl0bGVDbWRHcm91cCIvPgorLSAg ICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJsaW5lYnJlYWsiIHR5cGU9ImRvY0VtcHR5VHlwZSIgLz4K Ky0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaHJ1bGVyIiB0eXBlPSJkb2NFbXB0eVR5cGUiIC8+ CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InByZWZvcm1hdHRlZCIgdHlwZT0iZG9jTWFya3Vw VHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icHJvZ3JhbWxpc3RpbmciIHR5cGU9 Imxpc3RpbmdUeXBlIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2ZXJiYXRpbSIgdHlw ZT0ieHNkOnN0cmluZyIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaW5kZXhlbnRyeSIg dHlwZT0iZG9jSW5kZXhFbnRyeVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9Im9y ZGVyZWRsaXN0IiB0eXBlPSJkb2NMaXN0VHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFt ZT0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkb2NMaXN0VHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1l bnQgbmFtZT0ic2ltcGxlc2VjdCIgdHlwZT0iZG9jU2ltcGxlU2VjdFR5cGUiIC8+CistICAgICAg PHhzZDplbGVtZW50IG5hbWU9InRpdGxlIiB0eXBlPSJkb2NUaXRsZVR5cGUiIC8+CistICAgICAg PHhzZDplbGVtZW50IG5hbWU9InZhcmlhYmxlbGlzdCIgdHlwZT0iZG9jVmFyaWFibGVMaXN0VHlw ZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idGFibGUiIHR5cGU9ImRvY1RhYmxlVHlw ZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaGVhZGluZyIgdHlwZT0iZG9jSGVhZGlu Z1R5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImltYWdlIiB0eXBlPSJkb2NJbWFn ZVR5cGUiIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImRvdGZpbGUiIHR5cGU9ImRvY0Rv dEZpbGVUeXBlIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ0b2NsaXN0IiB0eXBlPSJk b2NUb2NMaXN0VHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibGFuZ3VhZ2UiIHR5 cGU9ImRvY0xhbmd1YWdlVHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icGFyYW1l dGVybGlzdCIgdHlwZT0iZG9jUGFyYW1MaXN0VHlwZSIgLz4KKy0gICAgICA8eHNkOmVsZW1lbnQg bmFtZT0ieHJlZnNlY3QiIHR5cGU9ImRvY1hSZWZTZWN0VHlwZSIgLz4KKy0gICAgICA8eHNkOmVs ZW1lbnQgbmFtZT0iY29weWRvYyIgdHlwZT0iZG9jQ29weVR5cGUiIC8+CistICAgIDwveHNkOmNo b2ljZT4KKy0gIDwveHNkOmdyb3VwPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJkb2NQ YXJhVHlwZSIgbWl4ZWQ9InRydWUiPgorLSAgICA8eHNkOmdyb3VwIHJlZj0iZG9jQ21kR3JvdXAi IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICA8L3hzZDpjb21wbGV4 VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iZG9jTWFya3VwVHlwZSIgbWl4ZWQ9 InRydWUiPgorLSAgICA8eHNkOmdyb3VwIHJlZj0iZG9jQ21kR3JvdXAiIG1pbk9jY3Vycz0iMCIg bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4 c2Q6Y29tcGxleFR5cGUgbmFtZT0iZG9jVVJMTGluayIgbWl4ZWQ9InRydWUiPgorLSAgICA8eHNk Omdyb3VwIHJlZj0iZG9jVGl0bGVDbWRHcm91cCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idXJsIiB0eXBlPSJ4c2Q6c3Ry aW5nIiAvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5h bWU9ImRvY0FuY2hvclR5cGUiIG1peGVkPSJ0cnVlIj4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFt ZT0iaWQiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0g IDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iZG9jRm9ybXVsYVR5cGUiIG1peGVkPSJ0cnVlIj4KKy0g ICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICA8L3hz ZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iZG9jSW5kZXhFbnRy eVR5cGUiPgorLSAgICA8eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJw cmltYXJ5aWUiIHR5cGU9InhzZDpzdHJpbmciIC8+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9 InNlY29uZGFyeWllIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgICA8L3hzZDpzZXF1ZW5jZT4K Ky0gIDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJkb2NM aXN0VHlwZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9 Imxpc3RpdGVtIiB0eXBlPSJkb2NMaXN0SXRlbVR5cGUiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAv PgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAgPHhz ZDpjb21wbGV4VHlwZSBuYW1lPSJkb2NMaXN0SXRlbVR5cGUiPgorLSAgICA8eHNkOnNlcXVlbmNl PgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJwYXJhIiB0eXBlPSJkb2NQYXJhVHlwZSIgbWlu T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+ CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iZG9j U2ltcGxlU2VjdFR5cGUiPgorLSAgICA8eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVu dCBuYW1lPSJ0aXRsZSIgdHlwZT0iZG9jVGl0bGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAg ICAgPHhzZDpzZXF1ZW5jZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKy0g ICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJwYXJhIiB0eXBlPSJkb2NQYXJhVHlwZSIgbWluT2Nj dXJzPSIxIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0gICAgICAgIDx4c2Q6ZWxlbWVudCBu YW1lPSJzaW1wbGVzZWN0c2VwIiB0eXBlPSJkb2NFbXB0eVR5cGUiIG1pbk9jY3Vycz0iMCIvPgor LSAgICAgIDwveHNkOnNlcXVlbmNlPgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDph dHRyaWJ1dGUgbmFtZT0ia2luZCIgdHlwZT0iRG94U2ltcGxlU2VjdEtpbmQiIC8+CistICA8L3hz ZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iZG9jVmFyTGlzdEVu dHJ5VHlwZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9 InRlcm0iIHR5cGU9ImRvY1RpdGxlVHlwZSIgLz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+CistICA8 L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Z3JvdXAgbmFtZT0iZG9jVmFyaWFibGVMaXN0 R3JvdXAiPgorLSAgICA8eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2 YXJsaXN0ZW50cnkiIHR5cGU9ImRvY1Zhckxpc3RFbnRyeVR5cGUiIC8+CistICAgICAgPHhzZDpl bGVtZW50IG5hbWU9Imxpc3RpdGVtIiB0eXBlPSJkb2NMaXN0SXRlbVR5cGUiIC8+CistICAgIDwv eHNkOnNlcXVlbmNlPgorLSAgPC94c2Q6Z3JvdXA+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5h bWU9ImRvY1ZhcmlhYmxlTGlzdFR5cGUiPgorLSAgICA8eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4 c2Q6Z3JvdXAgcmVmPSJkb2NWYXJpYWJsZUxpc3RHcm91cCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi IC8+CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8 eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY1JlZlRleHRUeXBlIiBtaXhlZD0idHJ1ZSI+CistICAg IDx4c2Q6Z3JvdXAgcmVmPSJkb2NUaXRsZUNtZEdyb3VwIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy cz0idW5ib3VuZGVkIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJyZWZpZCIgdHlwZT0i eHNkOnN0cmluZyIgLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ia2luZHJlZiIgdHlwZT0i RG94UmVmS2luZCIgLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iZXh0ZXJuYWwiIHR5cGU9 InhzZDpzdHJpbmciIC8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxl eFR5cGUgbmFtZT0iZG9jVGFibGVUeXBlIj4KKy0gICAgPHhzZDpzZXF1ZW5jZT4KKy0gICAgICA8 eHNkOmVsZW1lbnQgbmFtZT0icm93IiB0eXBlPSJkb2NSb3dUeXBlIiBtaW5PY2N1cnM9IjAiIG1h eE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjYXB0aW9u IiB0eXBlPSJkb2NDYXB0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPgorLSAgICA8L3hzZDpzZXF1 ZW5jZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0icm93cyIgdHlwZT0ieHNkOmludGVnZXIi IC8+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImNvbHMiIHR5cGU9InhzZDppbnRlZ2VyIiAv PgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRv Y1Jvd1R5cGUiPgorLSAgICA8eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1l PSJlbnRyeSIgdHlwZT0iZG9jRW50cnlUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i b3VuZGVkIiAvPgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgor LQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJkb2NFbnRyeVR5cGUiPgorLSAgICA8eHNkOnNl cXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJwYXJhIiB0eXBlPSJkb2NQYXJhVHlw ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0gICAgPC94c2Q6c2Vx dWVuY2U+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InRoZWFkIiB0eXBlPSJEb3hCb29sIiAv PgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRv Y0NhcHRpb25UeXBlIiBtaXhlZD0idHJ1ZSI+CistICAgIDx4c2Q6Z3JvdXAgcmVmPSJkb2NUaXRs ZUNtZEdyb3VwIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgPC94 c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY0hlYWRpbmdU eXBlIiBtaXhlZD0idHJ1ZSI+CistICAgIDx4c2Q6Z3JvdXAgcmVmPSJkb2NUaXRsZUNtZEdyb3Vw IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICA8eHNkOmF0dHJp YnV0ZSBuYW1lPSJsZXZlbCIgdHlwZT0ieHNkOmludGVnZXIiIC8+IDwhLS0gdG9kbzogcmFuZ2Ug MS02IC0tPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5h bWU9ImRvY0ltYWdlVHlwZSIgbWl4ZWQ9InRydWUiPgorLSAgICA8eHNkOmdyb3VwIHJlZj0iZG9j VGl0bGVDbWRHcm91cCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0g ICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idHlwZSIgdHlwZT0iRG94SW1hZ2VLaW5kIiAvPgorLSAg ICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgICA8 eHNkOmF0dHJpYnV0ZSBuYW1lPSJ3aWR0aCIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKy0gICAgPHhz ZDphdHRyaWJ1dGUgbmFtZT0iaGVpZ2h0IiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgPC94c2Q6 Y29tcGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY0RvdEZpbGVUeXBl IiBtaXhlZD0idHJ1ZSI+CistICAgIDx4c2Q6Z3JvdXAgcmVmPSJkb2NUaXRsZUNtZEdyb3VwIiBt aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0 ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+ CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY1RvY0l0ZW1UeXBlIiBtaXhlZD0idHJ1 ZSI+CistICAgIDx4c2Q6Z3JvdXAgcmVmPSJkb2NUaXRsZUNtZEdyb3VwIiBtaW5PY2N1cnM9IjAi IG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJpZCIg dHlwZT0ieHNkOnN0cmluZyIgLz4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAgPHhzZDpj b21wbGV4VHlwZSBuYW1lPSJkb2NUb2NMaXN0VHlwZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+Cist ICAgICAgPHhzZDplbGVtZW50IG5hbWU9InRvY2l0ZW0iIHR5cGU9ImRvY1RvY0l0ZW1UeXBlIiBt aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICA8L3hzZDpzZXF1ZW5j ZT4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJk b2NMYW5ndWFnZVR5cGUiPgorLSAgICA8eHNkOnNlcXVlbmNlPgorLSAgICAgIDx4c2Q6ZWxlbWVu dCBuYW1lPSJwYXJhIiB0eXBlPSJkb2NQYXJhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 InVuYm91bmRlZCIgLz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+CistICAgIDx4c2Q6YXR0cmlidXRl IG5hbWU9ImxhbmdpZCIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKy0gIDwveHNkOmNvbXBsZXhUeXBl PgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJkb2NQYXJhbUxpc3RUeXBlIj4KKy0gICAg PHhzZDpzZXF1ZW5jZT4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icGFyYW1ldGVyaXRlbSIg dHlwZT0iZG9jUGFyYW1MaXN0SXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl ZCIgLz4KKy0gICAgPC94c2Q6c2VxdWVuY2U+CistICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Imtp bmQiIHR5cGU9IkRveFBhcmFtTGlzdEtpbmQiIC8+CistICA8L3hzZDpjb21wbGV4VHlwZT4KKy0K Ky0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iZG9jUGFyYW1MaXN0SXRlbSI+CistICAgIDx4c2Q6 c2VxdWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InBhcmFtZXRlcm5hbWVsaXN0IiB0 eXBlPSJkb2NQYXJhbU5hbWVMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk IiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJwYXJhbWV0ZXJkZXNjcmlwdGlvbiIgdHlw ZT0iZGVzY3JpcHRpb25UeXBlIiAvPgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gIDwveHNkOmNv bXBsZXhUeXBlPgorLQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJkb2NQYXJhbU5hbWVMaXN0 Ij4KKy0gICAgPHhzZDpzZXF1ZW5jZT4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icGFyYW1l dGVybmFtZSIgdHlwZT0iZG9jUGFyYW1OYW1lIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i b3VuZGVkIiAvPgorLSAgICA8L3hzZDpzZXF1ZW5jZT4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgor LQorLSAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJkb2NQYXJhbU5hbWUiIG1peGVkPSJ0cnVlIj4K Ky0gICAgPHhzZDpzZXF1ZW5jZT4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icmVmIiB0eXBl PSJyZWZUZXh0VHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiIC8+CistICAgIDwveHNk OnNlcXVlbmNlPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJkaXJlY3Rpb24iIHR5cGU9IkRv eFBhcmFtRGlyIiB1c2U9Im9wdGlvbmFsIiAvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCist ICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY1hSZWZTZWN0VHlwZSI+CistICAgIDx4c2Q6c2Vx dWVuY2U+CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9InhyZWZ0aXRsZSIgdHlwZT0ieHNkOnN0 cmluZyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4KKy0gICAgICA8eHNk OmVsZW1lbnQgbmFtZT0ieHJlZmRlc2NyaXB0aW9uIiB0eXBlPSJkZXNjcmlwdGlvblR5cGUiIC8+ CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlw ZT0ieHNkOnN0cmluZyIgLz4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAgPHhzZDpjb21w bGV4VHlwZSBuYW1lPSJkb2NDb3B5VHlwZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+CistICAgICAg PHhzZDplbGVtZW50IG5hbWU9InBhcmEiIHR5cGU9ImRvY1BhcmFUeXBlIiBtaW5PY2N1cnM9IjAi IG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzZWN0 MSIgdHlwZT0iZG9jU2VjdDFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk IiAvPgorLSAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJpbnRlcm5hbCIgdHlwZT0iZG9jSW50ZXJu YWxUeXBlIiBtaW5PY2N1cnM9IjAiIC8+CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAgICA8eHNk OmF0dHJpYnV0ZSBuYW1lPSJsaW5rIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorLSAgPC94c2Q6Y29t cGxleFR5cGU+CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvY0NoYXJUeXBlIj4KKy0g ICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iY2hhciIgdHlwZT0iRG94Q2hhclJhbmdlIi8+CistICA8 L3hzZDpjb21wbGV4VHlwZT4KKy0KKy0gIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iZG9jRW1wdHlU eXBlIi8+CistCistICA8IS0tIFNpbXBsZSB0eXBlcyAtLT4KKy0KKy0gIDx4c2Q6c2ltcGxlVHlw ZSBuYW1lPSJEb3hCb29sIj4KKy0gICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5n Ij4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJ5ZXMiIC8+CistICAgICAgPHhzZDpl bnVtZXJhdGlvbiB2YWx1ZT0ibm8iIC8+CistICAgIDwveHNkOnJlc3RyaWN0aW9uPgorLSAgPC94 c2Q6c2ltcGxlVHlwZT4KKy0KKy0gIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJEb3hHcmFwaFJlbGF0 aW9uIj4KKy0gICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKy0gICAgICA8 eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJpbmNsdWRlIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRp b24gdmFsdWU9InVzYWdlIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InRlbXBs YXRlLWluc3RhbmNlIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InB1YmxpYy1p bmhlcml0YW5jZSIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwcm90ZWN0ZWQt aW5oZXJpdGFuY2UiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0icHJpdmF0ZS1p bmhlcml0YW5jZSIgLz4KKy0gICAgPC94c2Q6cmVzdHJpY3Rpb24+CistICA8L3hzZDpzaW1wbGVU eXBlPgorLQorLSAgPHhzZDpzaW1wbGVUeXBlIG5hbWU9IkRveFJlZktpbmQiPgorLSAgICA8eHNk OnJlc3RyaWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24g dmFsdWU9ImNvbXBvdW5kIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9Im1lbWJl ciIgLz4KKy0gICAgPC94c2Q6cmVzdHJpY3Rpb24+CistICA8L3hzZDpzaW1wbGVUeXBlPgorLQor LSAgPHhzZDpzaW1wbGVUeXBlIG5hbWU9IkRveE1lbWJlcktpbmQiPgorLSAgICA8eHNkOnJlc3Ry aWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9 ImRlZmluZSIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwcm9wZXJ0eSIgLz4K Ky0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJldmVudCIgLz4KKy0gICAgICA8eHNkOmVu dW1lcmF0aW9uIHZhbHVlPSJ2YXJpYWJsZSIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZh bHVlPSJ0eXBlZGVmIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9ImVudW0iIC8+ CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iZnVuY3Rpb24iIC8+CistICAgICAgPHhz ZDplbnVtZXJhdGlvbiB2YWx1ZT0ic2lnbmFsIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24g dmFsdWU9InByb3RvdHlwZSIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJmcmll bmQiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iZGNvcCIgLz4KKy0gICAgICA8 eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJzbG90IiAvPgorLSAgICA8L3hzZDpyZXN0cmljdGlvbj4K Ky0gIDwveHNkOnNpbXBsZVR5cGU+CistCistICA8eHNkOnNpbXBsZVR5cGUgbmFtZT0iRG94UHJv dGVjdGlvbktpbmQiPgorLSAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgor LSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InB1YmxpYyIgLz4KKy0gICAgICA8eHNkOmVu dW1lcmF0aW9uIHZhbHVlPSJwcm90ZWN0ZWQiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2 YWx1ZT0icHJpdmF0ZSIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwYWNrYWdl IiAvPgorLSAgICA8L3hzZDpyZXN0cmljdGlvbj4KKy0gIDwveHNkOnNpbXBsZVR5cGU+CistCist ICA8eHNkOnNpbXBsZVR5cGUgbmFtZT0iRG94VmlydHVhbEtpbmQiPgorLSAgICA8eHNkOnJlc3Ry aWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9 Im5vbi12aXJ0dWFsIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InZpcnR1YWwi IC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0icHVyZS12aXJ0dWFsIiAvPgorLSAg ICA8L3hzZDpyZXN0cmljdGlvbj4KKy0gIDwveHNkOnNpbXBsZVR5cGU+CistCistICA8eHNkOnNp bXBsZVR5cGUgbmFtZT0iRG94Q29tcG91bmRLaW5kIj4KKy0gICAgPHhzZDpyZXN0cmljdGlvbiBi YXNlPSJ4c2Q6c3RyaW5nIj4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJjbGFzcyIg Lz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJzdHJ1Y3QiIC8+CistICAgICAgPHhz ZDplbnVtZXJhdGlvbiB2YWx1ZT0idW5pb24iIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2 YWx1ZT0iaW50ZXJmYWNlIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InByb3Rv Y29sIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9ImNhdGVnb3J5IiAvPgorLSAg ICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9ImV4Y2VwdGlvbiIgLz4KKy0gICAgICA8eHNkOmVu dW1lcmF0aW9uIHZhbHVlPSJmaWxlIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9 Im5hbWVzcGFjZSIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJncm91cCIgLz4K Ky0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwYWdlIiAvPgorLSAgICAgIDx4c2Q6ZW51 bWVyYXRpb24gdmFsdWU9ImV4YW1wbGUiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1 ZT0iZGlyIiAvPgorLSAgICA8L3hzZDpyZXN0cmljdGlvbj4KKy0gIDwveHNkOnNpbXBsZVR5cGU+ CistCistICA8eHNkOnNpbXBsZVR5cGUgbmFtZT0iRG94U2VjdGlvbktpbmQiPgorLSAgICA8eHNk OnJlc3RyaWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24g dmFsdWU9InVzZXItZGVmaW5lZCIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJw dWJsaWMtdHlwZSIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwdWJsaWMtZnVu YyIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwdWJsaWMtYXR0cmliIiAvPgor LSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InB1YmxpYy1zbG90IiAvPgorLSAgICAgIDx4 c2Q6ZW51bWVyYXRpb24gdmFsdWU9InNpZ25hbCIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9u IHZhbHVlPSJkY29wLWZ1bmMiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0icHJv cGVydHkiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iZXZlbnQiIC8+CistICAg ICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0icHVibGljLXN0YXRpYy1mdW5jIiAvPgorLSAgICAg IDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InB1YmxpYy1zdGF0aWMtYXR0cmliIiAvPgorLSAgICAg IDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InByb3RlY3RlZC10eXBlIiAvPgorLSAgICAgIDx4c2Q6 ZW51bWVyYXRpb24gdmFsdWU9InByb3RlY3RlZC1mdW5jIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVy YXRpb24gdmFsdWU9InByb3RlY3RlZC1hdHRyaWIiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlv biB2YWx1ZT0icHJvdGVjdGVkLXNsb3QiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1 ZT0icHJvdGVjdGVkLXN0YXRpYy1mdW5jIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFs dWU9InByb3RlY3RlZC1zdGF0aWMtYXR0cmliIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24g dmFsdWU9InBhY2thZ2UtdHlwZSIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJw YWNrYWdlLWZ1bmMiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0icGFja2FnZS1h dHRyaWIiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0icGFja2FnZS1zdGF0aWMt ZnVuYyIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwYWNrYWdlLXN0YXRpYy1h dHRyaWIiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0icHJpdmF0ZS10eXBlIiAv PgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InByaXZhdGUtZnVuYyIgLz4KKy0gICAg ICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwcml2YXRlLWF0dHJpYiIgLz4KKy0gICAgICA8eHNk OmVudW1lcmF0aW9uIHZhbHVlPSJwcml2YXRlLXNsb3QiIC8+CistICAgICAgPHhzZDplbnVtZXJh dGlvbiB2YWx1ZT0icHJpdmF0ZS1zdGF0aWMtZnVuYyIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0 aW9uIHZhbHVlPSJwcml2YXRlLXN0YXRpYy1hdHRyaWIiIC8+CistICAgICAgPHhzZDplbnVtZXJh dGlvbiB2YWx1ZT0iZnJpZW5kIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InJl bGF0ZWQiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iZGVmaW5lIiAvPgorLSAg ICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InByb3RvdHlwZSIgLz4KKy0gICAgICA8eHNkOmVu dW1lcmF0aW9uIHZhbHVlPSJ0eXBlZGVmIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFs dWU9ImVudW0iIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iZnVuYyIgLz4KKy0g ICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJ2YXIiIC8+CistICAgIDwveHNkOnJlc3RyaWN0 aW9uPgorLSAgPC94c2Q6c2ltcGxlVHlwZT4KKy0KKy0gIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJE b3hIaWdobGlnaHRDbGFzcyI+CistICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOnN0cmlu ZyI+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iY29tbWVudCIgLz4KKy0gICAgICA8 eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJub3JtYWwiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlv biB2YWx1ZT0icHJlcHJvY2Vzc29yIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9 ImtleXdvcmQiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0ia2V5d29yZHR5cGUi IC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0ia2V5d29yZGZsb3ciIC8+CistICAg ICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0ic3RyaW5nbGl0ZXJhbCIgLz4KKy0gICAgICA8eHNk OmVudW1lcmF0aW9uIHZhbHVlPSJjaGFybGl0ZXJhbCIgLz4KKy0gICAgPC94c2Q6cmVzdHJpY3Rp b24+CistICA8L3hzZDpzaW1wbGVUeXBlPgorLQorLSAgPHhzZDpzaW1wbGVUeXBlIG5hbWU9IkRv eFNpbXBsZVNlY3RLaW5kIj4KKy0gICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5n Ij4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJzZWUiIC8+CistICAgICAgPHhzZDpl bnVtZXJhdGlvbiB2YWx1ZT0icmV0dXJuIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFs dWU9ImF1dGhvciIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJhdXRob3JzIiAv PgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InZlcnNpb24iIC8+CistICAgICAgPHhz ZDplbnVtZXJhdGlvbiB2YWx1ZT0ic2luY2UiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2 YWx1ZT0iZGF0ZSIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJub3RlIiAvPgor LSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9Indhcm5pbmciIC8+CistICAgICAgPHhzZDpl bnVtZXJhdGlvbiB2YWx1ZT0icHJlIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9 InBvc3QiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iaW52YXJpYW50IiAvPgor LSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InJlbWFyayIgLz4KKy0gICAgICA8eHNkOmVu dW1lcmF0aW9uIHZhbHVlPSJhdHRlbnRpb24iIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2 YWx1ZT0icGFyIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InJjcyIgLz4KKy0g ICAgPC94c2Q6cmVzdHJpY3Rpb24+CistICA8L3hzZDpzaW1wbGVUeXBlPgorLQorLSAgPHhzZDpz aW1wbGVUeXBlIG5hbWU9IkRveFZlcnNpb25OdW1iZXIiPgorLSAgICA8eHNkOnJlc3RyaWN0aW9u IGJhc2U9InhzZDpzdHJpbmciPgorLSAgICAgIDx4c2Q6cGF0dGVybiB2YWx1ZT0iXGQrXC5cZCsu KiIgLz4KKy0gICAgPC94c2Q6cmVzdHJpY3Rpb24+CistICA8L3hzZDpzaW1wbGVUeXBlPgorLQor LSAgPHhzZDpzaW1wbGVUeXBlIG5hbWU9IkRveEltYWdlS2luZCI+CistICAgIDx4c2Q6cmVzdHJp Y3Rpb24gYmFzZT0ieHNkOnN0cmluZyI+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0i aHRtbCIgLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJsYXRleCIgLz4KKy0gICAg ICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJydGYiIC8+CistICAgIDwveHNkOnJlc3RyaWN0aW9u PgorLSAgPC94c2Q6c2ltcGxlVHlwZT4KKy0KKy0gIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJEb3hQ YXJhbUxpc3RLaW5kIj4KKy0gICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4K Ky0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwYXJhbSIgLz4KKy0gICAgICA8eHNkOmVu dW1lcmF0aW9uIHZhbHVlPSJyZXR2YWwiIC8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1 ZT0iZXhjZXB0aW9uIiAvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InRlbXBsYXRl cGFyYW0iIC8+CistICAgIDwveHNkOnJlc3RyaWN0aW9uPgorLSAgPC94c2Q6c2ltcGxlVHlwZT4K Ky0KKy0gIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJEb3hDaGFyUmFuZ2UiPgorLSAgICA8eHNkOnJl c3RyaWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgorLSAgICAgIDx4c2Q6cGF0dGVybiB2YWx1ZT0i W2FlaW91bmNBRUlPVU5DXSIgLz4KKy0gICAgPC94c2Q6cmVzdHJpY3Rpb24+CistICA8L3hzZDpz aW1wbGVUeXBlPgorLQorLSAgPHhzZDpzaW1wbGVUeXBlIG5hbWU9IkRveFBhcmFtRGlyIj4KKy0g ICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKy0gICAgICA8eHNkOmVudW1l cmF0aW9uIHZhbHVlPSJpbiIvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9Im91dCIv PgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9Imlub3V0Ii8+CistICAgIDwveHNkOnJl c3RyaWN0aW9uPgorLSAgPC94c2Q6c2ltcGxlVHlwZT4KKy0KKy0gIDx4c2Q6c2ltcGxlVHlwZSBu YW1lPSJEb3hBY2Nlc3NvciI+CistICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOnN0cmlu ZyI+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0icmV0YWluIi8+CistICAgICAgPHhz ZDplbnVtZXJhdGlvbiB2YWx1ZT0iY29weSIvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFs dWU9ImFzc2lnbiIvPgorLSAgICA8L3hzZDpyZXN0cmljdGlvbj4KKy0gIDwveHNkOnNpbXBsZVR5 cGU+CistCistPC94c2Q6c2NoZW1hPgorLQorZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdlbi9kb3h5 eG1sL2V4YW1wbGUveG1sL2luZGV4LnhtbCBiL2RvY3MvZG94eWdlbi9kb3h5eG1sL2V4YW1wbGUv eG1sL2luZGV4LnhtbAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAxM2ZkNTNmLi4w MDAwMDAwCistLS0gZG9jcy9kb3h5Z2VuL2RveHl4bWwvZXhhbXBsZS94bWwvaW5kZXgueG1sCisr KysgL2Rldi9udWxsCitAQCAtMSwxNyArMCwwIEBACistPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNv ZGluZz0nVVRGLTgnIHN0YW5kYWxvbmU9J25vJz8+CistPGRveHlnZW5pbmRleCB4bWxuczp4c2k9 Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6bm9OYW1lc3Bh Y2VTY2hlbWFMb2NhdGlvbj0iaW5kZXgueHNkIiB2ZXJzaW9uPSIxLjYuMyI+CistICA8Y29tcG91 bmQgcmVmaWQ9ImNsYXNzQWFkdmFyayIga2luZD0iY2xhc3MiPjxuYW1lPkFhZHZhcms8L25hbWU+ CistICAgIDxtZW1iZXIgcmVmaWQ9ImNsYXNzQWFkdmFya18xYWI3OWViNThkN2JiOWQ1ZGRmYTVk NmY3ODM4MzZjYWI5IiBraW5kPSJ2YXJpYWJsZSI+PG5hbWU+YWFkdmFya25lc3M8L25hbWU+PC9t ZW1iZXI+CistICAgIDxtZW1iZXIgcmVmaWQ9ImNsYXNzQWFkdmFya18xYWJkMDYxYWE1Zjk5ODAw MmU3MjA4MGEzNGY1MTJhMDU5IiBraW5kPSJmdW5jdGlvbiI+PG5hbWU+cHJpbnQ8L25hbWU+PC9t ZW1iZXI+CistICAgIDxtZW1iZXIgcmVmaWQ9ImNsYXNzQWFkdmFya18xYWRmMWE0Yjk3YTY0MTQx MWE3NGEwNGFiMzEyNDg0NDYyIiBraW5kPSJmdW5jdGlvbiI+PG5hbWU+QWFkdmFyazwvbmFtZT48 L21lbWJlcj4KKy0gICAgPG1lbWJlciByZWZpZD0iY2xhc3NBYWR2YXJrXzFhZmZkMmFkYTBhODU4 MDdlZmNiZTI2NjE1YTg0OGY1M2UiIGtpbmQ9ImZ1bmN0aW9uIj48bmFtZT5nZXRfYWFkdmFya25l c3M8L25hbWU+PC9tZW1iZXI+CistICA8L2NvbXBvdW5kPgorLSAgPGNvbXBvdW5kIHJlZmlkPSJh YWR2YXJrXzhjYyIga2luZD0iZmlsZSI+PG5hbWU+YWFkdmFyay5jYzwvbmFtZT4KKy0gICAgPG1l bWJlciByZWZpZD0iYWFkdmFya184Y2NfMWFjYjUyODU4NTI0MjEwZWM2ZGRkYzNlMTZkMWU1Mjk0 NiIga2luZD0iZnVuY3Rpb24iPjxuYW1lPmFhZHZhcmt5X2Vub3VnaDwvbmFtZT48L21lbWJlcj4K Ky0gICAgPG1lbWJlciByZWZpZD0iYWFkdmFya184Y2NfMWFlNjZmNmIzMWI1YWQ3NTBmMWZlMDQy YTcwNmE0ZTNkNCIga2luZD0iZnVuY3Rpb24iPjxuYW1lPm1haW48L25hbWU+PC9tZW1iZXI+Cist ICA8L2NvbXBvdW5kPgorLSAgPGNvbXBvdW5kIHJlZmlkPSJhYWR2YXJrXzhoIiBraW5kPSJmaWxl Ij48bmFtZT5hYWR2YXJrLmg8L25hbWU+CistICAgIDxtZW1iZXIgcmVmaWQ9ImFhZHZhcmtfOGhf MWFjYjUyODU4NTI0MjEwZWM2ZGRkYzNlMTZkMWU1Mjk0NiIga2luZD0iZnVuY3Rpb24iPjxuYW1l PmFhZHZhcmt5X2Vub3VnaDwvbmFtZT48L21lbWJlcj4KKy0gICAgPG1lbWJlciByZWZpZD0iYWFk dmFya184aF8xYWU2NmY2YjMxYjVhZDc1MGYxZmUwNDJhNzA2YTRlM2Q0IiBraW5kPSJmdW5jdGlv biI+PG5hbWU+bWFpbjwvbmFtZT48L21lbWJlcj4KKy0gIDwvY29tcG91bmQ+CistPC9kb3h5Z2Vu aW5kZXg+CitkaWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2VuL2RveHl4bWwvZXhhbXBsZS94bWwvaW5k ZXgueHNkIGIvZG9jcy9kb3h5Z2VuL2RveHl4bWwvZXhhbXBsZS94bWwvaW5kZXgueHNkCitkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGJmZTk2MGMuLjAwMDAwMDAKKy0tLSBkb2NzL2Rv eHlnZW4vZG94eXhtbC9leGFtcGxlL3htbC9pbmRleC54c2QKKysrKyAvZGV2L251bGwKK0BAIC0x LDY2ICswLDAgQEAKKy08P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSd1dGYtOCcgPz4KKy08 eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4K Ky0gIDx4c2Q6ZWxlbWVudCBuYW1lPSJkb3h5Z2VuaW5kZXgiIHR5cGU9IkRveHlnZW5UeXBlIi8+ CistCistICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9IkRveHlnZW5UeXBlIj4KKy0gICAgPHhzZDpz ZXF1ZW5jZT4KKy0gICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iY29tcG91bmQiIHR5cGU9IkNvbXBv dW5kVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorLSAgICA8L3hz ZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idmVyc2lvbiIgdHlwZT0ieHNk OnN0cmluZyIgdXNlPSJyZXF1aXJlZCIvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+CistCistICA8 eHNkOmNvbXBsZXhUeXBlIG5hbWU9IkNvbXBvdW5kVHlwZSI+CistICAgIDx4c2Q6c2VxdWVuY2U+ CistICAgICAgPHhzZDplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciLz4KKy0g ICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibWVtYmVyIiB0eXBlPSJNZW1iZXJUeXBlIiBtaW5PY2N1 cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CistICAgIDwveHNkOnNlcXVlbmNlPgorLSAg ICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJyZWZpZCIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJyZXF1 aXJlZCIvPgorLSAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJraW5kIiB0eXBlPSJDb21wb3VuZEtp bmQiIHVzZT0icmVxdWlyZWQiLz4KKy0gIDwveHNkOmNvbXBsZXhUeXBlPgorLQorLSAgPHhzZDpj b21wbGV4VHlwZSBuYW1lPSJNZW1iZXJUeXBlIj4KKy0gICAgPHhzZDpzZXF1ZW5jZT4KKy0gICAg ICA8eHNkOmVsZW1lbnQgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIvPgorLSAgICA8L3hz ZDpzZXF1ZW5jZT4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0icmVmaWQiIHR5cGU9InhzZDpz dHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKy0gICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ia2luZCIg dHlwZT0iTWVtYmVyS2luZCIgdXNlPSJyZXF1aXJlZCIvPgorLSAgPC94c2Q6Y29tcGxleFR5cGU+ CistCistICA8eHNkOnNpbXBsZVR5cGUgbmFtZT0iQ29tcG91bmRLaW5kIj4KKy0gICAgPHhzZDpy ZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZh bHVlPSJjbGFzcyIvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InN0cnVjdCIvPgor LSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InVuaW9uIi8+CistICAgICAgPHhzZDplbnVt ZXJhdGlvbiB2YWx1ZT0iaW50ZXJmYWNlIi8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1 ZT0icHJvdG9jb2wiLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJjYXRlZ29yeSIv PgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9ImV4Y2VwdGlvbiIvPgorLSAgICAgIDx4 c2Q6ZW51bWVyYXRpb24gdmFsdWU9ImZpbGUiLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZh bHVlPSJuYW1lc3BhY2UiLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJncm91cCIv PgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InBhZ2UiLz4KKy0gICAgICA8eHNkOmVu dW1lcmF0aW9uIHZhbHVlPSJleGFtcGxlIi8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1 ZT0iZGlyIi8+CistICAgIDwveHNkOnJlc3RyaWN0aW9uPgorLSAgPC94c2Q6c2ltcGxlVHlwZT4K Ky0KKy0gIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJNZW1iZXJLaW5kIj4KKy0gICAgPHhzZDpyZXN0 cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVl PSJkZWZpbmUiLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJwcm9wZXJ0eSIvPgor LSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9ImV2ZW50Ii8+CistICAgICAgPHhzZDplbnVt ZXJhdGlvbiB2YWx1ZT0idmFyaWFibGUiLz4KKy0gICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVl PSJ0eXBlZGVmIi8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iZW51bSIvPgorLSAg ICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9ImVudW12YWx1ZSIvPgorLSAgICAgIDx4c2Q6ZW51 bWVyYXRpb24gdmFsdWU9ImZ1bmN0aW9uIi8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1 ZT0ic2lnbmFsIi8+CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0icHJvdG90eXBlIi8+ CistICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iZnJpZW5kIi8+CistICAgICAgPHhzZDpl bnVtZXJhdGlvbiB2YWx1ZT0iZGNvcCIvPgorLSAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9 InNsb3QiLz4KKy0gICAgPC94c2Q6cmVzdHJpY3Rpb24+CistICA8L3hzZDpzaW1wbGVUeXBlPgor LQorLTwveHNkOnNjaGVtYT4KKy0KK2RpZmYgLS1naXQgYS9kb2NzL2RveHlnZW4vZG94eXhtbC9n ZW5lcmF0ZWQvX19pbml0X18ucHkgYi9kb2NzL2RveHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvX19p bml0X18ucHkKK2luZGV4IDM5ODIzOTcuLjIzMDk1YzEgMTAwNjQ0CistLS0gZG9jcy9kb3h5Z2Vu L2RveHl4bWwvZ2VuZXJhdGVkL19faW5pdF9fLnB5CisrKysgZG9jcy9kb3h5Z2VuL2RveHl4bWwv Z2VuZXJhdGVkL19faW5pdF9fLnB5CitAQCAtNSwzICs1LDQgQEAgVGhlc2UgZG8gdGhlIHJlYWwg d29yayBvZiBwYXJzaW5nIHRoZSBkb3h5Z2VuIHhtbCBmaWxlcyBidXQgdGhlCisgcmVzdWx0YW50 IGNsYXNzZXMgYXJlIG5vdCB2ZXJ5IGZyaWVuZGx5IHRvIG5hdmlnYXRlIHNvIHRoZSByZXN0IG9m IHRoZQorIGRveHl4bWwgbW9kdWxlIHByb2Nlc3NlcyB0aGVtIGZ1cnRoZXIuCisgIiIiCisrZnJv bSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCitkaWZmIC0tZ2l0IGEvZG9jcy9k b3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2NvbXBvdW5kLnB5IGIvZG9jcy9kb3h5Z2VuL2RveHl4 bWwvZ2VuZXJhdGVkL2NvbXBvdW5kLnB5CitpbmRleCAxNTIyYWMyLi5hY2ZhMGRkIDEwMDY0NAor LS0tIGRvY3MvZG94eWdlbi9kb3h5eG1sL2dlbmVyYXRlZC9jb21wb3VuZC5weQorKysrIGRvY3Mv ZG94eWdlbi9kb3h5eG1sL2dlbmVyYXRlZC9jb21wb3VuZC5weQorQEAgLTMsMTUgKzMsMTcgQEAK KyAiIiIKKyBHZW5lcmF0ZWQgTW9uIEZlYiAgOSAxOTowODowNSAyMDA5IGJ5IGdlbmVyYXRlRFMu cHkuCisgIiIiCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKytmcm9t IF9fZnV0dXJlX18gaW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMKKysKKyAKKy1mcm9tIHN0cmluZyBp bXBvcnQgbG93ZXIgYXMgc3RyX2xvd2VyCisgZnJvbSB4bWwuZG9tIGltcG9ydCBtaW5pZG9tCisg ZnJvbSB4bWwuZG9tIGltcG9ydCBOb2RlCisgCisgaW1wb3J0IHN5cworIAorLWltcG9ydCBjb21w b3VuZHN1cGVyIGFzIHN1cGVybW9kCistZnJvbSBjb21wb3VuZHN1cGVyIGltcG9ydCBNaXhlZENv bnRhaW5lcgorK2Zyb20gLiBpbXBvcnQgY29tcG91bmRzdXBlciBhcyBzdXBlcm1vZAorK2Zyb20g LmNvbXBvdW5kc3VwZXIgaW1wb3J0IE1peGVkQ29udGFpbmVyCisgCisgCisgY2xhc3MgRG94eWdl blR5cGVTdWIoc3VwZXJtb2QuRG94eWdlblR5cGUpOgorZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdl bi9kb3h5eG1sL2dlbmVyYXRlZC9jb21wb3VuZHN1cGVyLnB5IGIvZG9jcy9kb3h5Z2VuL2RveHl4 bWwvZ2VuZXJhdGVkL2NvbXBvdW5kc3VwZXIucHkKK2luZGV4IDYyNTVkZGEuLjZlOTg0ZTEgMTAw NjQ0CistLS0gZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2NvbXBvdW5kc3VwZXIucHkK KysrKyBkb2NzL2RveHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvY29tcG91bmRzdXBlci5weQorQEAg LTQsMTIgKzQsMTcgQEAKKyAjIEdlbmVyYXRlZCBUaHUgSnVuIDExIDE4OjQ0OjI1IDIwMDkgYnkg Z2VuZXJhdGVEUy5weS4KKyAjCisgCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5j dGlvbgorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgdW5pY29kZV9saXRlcmFscworKworIGltcG9y dCBzeXMKKy1pbXBvcnQgZ2V0b3B0CistZnJvbSBzdHJpbmcgaW1wb3J0IGxvd2VyIGFzIHN0cl9s b3dlcgorKworIGZyb20geG1sLmRvbSBpbXBvcnQgbWluaWRvbQorIGZyb20geG1sLmRvbSBpbXBv cnQgTm9kZQorIAorK2ltcG9ydCBzaXgKKysKKysKKyAjCisgIyBVc2VyIG1ldGhvZHMKKyAjCitA QCAtMTksOSArMjQsOSBAQCBmcm9tIHhtbC5kb20gaW1wb3J0IE5vZGUKKyAKKyB0cnk6CisgICAg IGZyb20gZ2VuZXJhdGVkc3N1cGVyIGltcG9ydCBHZW5lcmF0ZWRzU3VwZXIKKy1leGNlcHQgSW1w b3J0RXJyb3IsIGV4cDoKKytleGNlcHQgSW1wb3J0RXJyb3IgYXMgZXhwOgorIAorLSAgICBjbGFz cyBHZW5lcmF0ZWRzU3VwZXI6CisrICAgIGNsYXNzIEdlbmVyYXRlZHNTdXBlcihvYmplY3QpOgor ICAgICAgICAgZGVmIGZvcm1hdF9zdHJpbmcoc2VsZiwgaW5wdXRfZGF0YSwgaW5wdXRfbmFtZT0n Jyk6CisgICAgICAgICAgICAgcmV0dXJuIGlucHV0X2RhdGEKKyAgICAgICAgIGRlZiBmb3JtYXRf aW50ZWdlcihzZWxmLCBpbnB1dF9kYXRhLCBpbnB1dF9uYW1lPScnKToKK0BAIC02NCw3ICs2OSw3 IEBAIGRlZiBzaG93SW5kZW50KG91dGZpbGUsIGxldmVsKToKKyAgICAgICAgIG91dGZpbGUud3Jp dGUoJyAgICAnKQorIAorIGRlZiBxdW90ZV94bWwoaW5TdHIpOgorLSAgICBzMSA9IChpc2luc3Rh bmNlKGluU3RyLCBiYXNlc3RyaW5nKSBhbmQgaW5TdHIgb3IKKysgICAgczEgPSAoaXNpbnN0YW5j ZShpblN0ciwgc2l4LnN0cmluZ190eXBlcykgYW5kIGluU3RyIG9yCisgICAgICAgICAgICclcycg JSBpblN0cikKKyAgICAgczEgPSBzMS5yZXBsYWNlKCcmJywgJyZhbXA7JykKKyAgICAgczEgPSBz MS5yZXBsYWNlKCc8JywgJyZsdDsnKQorQEAgLTcyLDcgKzc3LDcgQEAgZGVmIHF1b3RlX3htbChp blN0cik6CisgICAgIHJldHVybiBzMQorIAorIGRlZiBxdW90ZV9hdHRyaWIoaW5TdHIpOgorLSAg ICBzMSA9IChpc2luc3RhbmNlKGluU3RyLCBiYXNlc3RyaW5nKSBhbmQgaW5TdHIgb3IKKysgICAg czEgPSAoaXNpbnN0YW5jZShpblN0ciwgc2l4LnN0cmluZ190eXBlcykgYW5kIGluU3RyIG9yCisg ICAgICAgICAgICclcycgJSBpblN0cikKKyAgICAgczEgPSBzMS5yZXBsYWNlKCcmJywgJyZhbXA7 JykKKyAgICAgczEgPSBzMS5yZXBsYWNlKCc8JywgJyZsdDsnKQorQEAgLTEwMiw3ICsxMDcsNyBA QCBkZWYgcXVvdGVfcHl0aG9uKGluU3RyKToKKyAgICAgICAgICAgICByZXR1cm4gJyIiIiVzIiIi JyAlIHMxCisgCisgCistY2xhc3MgTWl4ZWRDb250YWluZXI6CisrY2xhc3MgTWl4ZWRDb250YWlu ZXIob2JqZWN0KToKKyAgICAgIyBDb25zdGFudHMgZm9yIGNhdGVnb3J5OgorICAgICBDYXRlZ29y eU5vbmUgPSAwCisgICAgIENhdGVnb3J5VGV4dCA9IDEKK0BAIC00MjIxLDcgKzQyMjYsNyBAQCBj bGFzcyBjb2RlbGluZVR5cGUoR2VuZXJhdGVkc1N1cGVyKToKKyAgICAgICAgIGlmIGF0dHJzLmdl dCgnbGluZW5vJyk6CisgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICBzZWxmLmxp bmVubyA9IGludChhdHRycy5nZXQoJ2xpbmVubycpLnZhbHVlKQorLSAgICAgICAgICAgIGV4Y2Vw dCBWYWx1ZUVycm9yLCBleHA6CisrICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZXhw OgorICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdCYWQgaW50ZWdlciBhdHRyaWJ1 dGUgKGxpbmVubyk6ICVzJyAlIGV4cCkKKyAgICAgICAgIGlmIGF0dHJzLmdldCgncmVma2luZCcp OgorICAgICAgICAgICAgIHNlbGYucmVma2luZCA9IGF0dHJzLmdldCgncmVma2luZCcpLnZhbHVl CitAQCAtNDUwNCwxMiArNDUwOSwxMiBAQCBjbGFzcyByZWZlcmVuY2VUeXBlKEdlbmVyYXRlZHNT dXBlcik6CisgICAgICAgICBpZiBhdHRycy5nZXQoJ2VuZGxpbmUnKToKKyAgICAgICAgICAgICB0 cnk6CisgICAgICAgICAgICAgICAgIHNlbGYuZW5kbGluZSA9IGludChhdHRycy5nZXQoJ2VuZGxp bmUnKS52YWx1ZSkKKy0gICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciwgZXhwOgorKyAgICAg ICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4cDoKKyAgICAgICAgICAgICAgICAgcmFpc2Ug VmFsdWVFcnJvcignQmFkIGludGVnZXIgYXR0cmlidXRlIChlbmRsaW5lKTogJXMnICUgZXhwKQor ICAgICAgICAgaWYgYXR0cnMuZ2V0KCdzdGFydGxpbmUnKToKKyAgICAgICAgICAgICB0cnk6Cisg ICAgICAgICAgICAgICAgIHNlbGYuc3RhcnRsaW5lID0gaW50KGF0dHJzLmdldCgnc3RhcnRsaW5l JykudmFsdWUpCistICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIGV4cDoKKysgICAgICAg ICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBleHA6CisgICAgICAgICAgICAgICAgIHJhaXNlIFZh bHVlRXJyb3IoJ0JhZCBpbnRlZ2VyIGF0dHJpYnV0ZSAoc3RhcnRsaW5lKTogJXMnICUgZXhwKQor ICAgICAgICAgaWYgYXR0cnMuZ2V0KCdyZWZpZCcpOgorICAgICAgICAgICAgIHNlbGYucmVmaWQg PSBhdHRycy5nZXQoJ3JlZmlkJykudmFsdWUKK0BAIC00NjI3LDE3ICs0NjMyLDE3IEBAIGNsYXNz IGxvY2F0aW9uVHlwZShHZW5lcmF0ZWRzU3VwZXIpOgorICAgICAgICAgaWYgYXR0cnMuZ2V0KCdi b2R5c3RhcnQnKToKKyAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIHNlbGYuYm9k eXN0YXJ0ID0gaW50KGF0dHJzLmdldCgnYm9keXN0YXJ0JykudmFsdWUpCistICAgICAgICAgICAg ZXhjZXB0IFZhbHVlRXJyb3IsIGV4cDoKKysgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBh cyBleHA6CisgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0JhZCBpbnRlZ2VyIGF0 dHJpYnV0ZSAoYm9keXN0YXJ0KTogJXMnICUgZXhwKQorICAgICAgICAgaWYgYXR0cnMuZ2V0KCds aW5lJyk6CisgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICBzZWxmLmxpbmUgPSBp bnQoYXR0cnMuZ2V0KCdsaW5lJykudmFsdWUpCistICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJy b3IsIGV4cDoKKysgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBleHA6CisgICAgICAg ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0JhZCBpbnRlZ2VyIGF0dHJpYnV0ZSAobGluZSk6 ICVzJyAlIGV4cCkKKyAgICAgICAgIGlmIGF0dHJzLmdldCgnYm9keWVuZCcpOgorICAgICAgICAg ICAgIHRyeToKKyAgICAgICAgICAgICAgICAgc2VsZi5ib2R5ZW5kID0gaW50KGF0dHJzLmdldCgn Ym9keWVuZCcpLnZhbHVlKQorLSAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBleHA6Cisr ICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZXhwOgorICAgICAgICAgICAgICAgICBy YWlzZSBWYWx1ZUVycm9yKCdCYWQgaW50ZWdlciBhdHRyaWJ1dGUgKGJvZHllbmQpOiAlcycgJSBl eHApCisgICAgICAgICBpZiBhdHRycy5nZXQoJ2JvZHlmaWxlJyk6CisgICAgICAgICAgICAgc2Vs Zi5ib2R5ZmlsZSA9IGF0dHJzLmdldCgnYm9keWZpbGUnKS52YWx1ZQorQEAgLTY3NzgsMTIgKzY3 ODMsMTIgQEAgY2xhc3MgZG9jVGFibGVUeXBlKEdlbmVyYXRlZHNTdXBlcik6CisgICAgICAgICBp ZiBhdHRycy5nZXQoJ3Jvd3MnKToKKyAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAg IHNlbGYucm93cyA9IGludChhdHRycy5nZXQoJ3Jvd3MnKS52YWx1ZSkKKy0gICAgICAgICAgICBl eGNlcHQgVmFsdWVFcnJvciwgZXhwOgorKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFz IGV4cDoKKyAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignQmFkIGludGVnZXIgYXR0 cmlidXRlIChyb3dzKTogJXMnICUgZXhwKQorICAgICAgICAgaWYgYXR0cnMuZ2V0KCdjb2xzJyk6 CisgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICBzZWxmLmNvbHMgPSBpbnQoYXR0 cnMuZ2V0KCdjb2xzJykudmFsdWUpCistICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIGV4 cDoKKysgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBleHA6CisgICAgICAgICAgICAg ICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0JhZCBpbnRlZ2VyIGF0dHJpYnV0ZSAoY29scyk6ICVzJyAl IGV4cCkKKyAgICAgZGVmIGJ1aWxkQ2hpbGRyZW4oc2VsZiwgY2hpbGRfLCBub2RlTmFtZV8pOgor ICAgICAgICAgaWYgY2hpbGRfLm5vZGVUeXBlID09IE5vZGUuRUxFTUVOVF9OT0RFIGFuZCBcCitA QCAtNzEwOCw3ICs3MTEzLDcgQEAgY2xhc3MgZG9jSGVhZGluZ1R5cGUoR2VuZXJhdGVkc1N1cGVy KToKKyAgICAgICAgIGlmIGF0dHJzLmdldCgnbGV2ZWwnKToKKyAgICAgICAgICAgICB0cnk6Cisg ICAgICAgICAgICAgICAgIHNlbGYubGV2ZWwgPSBpbnQoYXR0cnMuZ2V0KCdsZXZlbCcpLnZhbHVl KQorLSAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBleHA6CisrICAgICAgICAgICAgZXhj ZXB0IFZhbHVlRXJyb3IgYXMgZXhwOgorICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9y KCdCYWQgaW50ZWdlciBhdHRyaWJ1dGUgKGxldmVsKTogJXMnICUgZXhwKQorICAgICBkZWYgYnVp bGRDaGlsZHJlbihzZWxmLCBjaGlsZF8sIG5vZGVOYW1lXyk6CisgICAgICAgICBpZiBjaGlsZF8u bm9kZVR5cGUgPT0gTm9kZS5URVhUX05PREU6CitAQCAtODI4Myw3ICs4Mjg4LDcgQEAgT3B0aW9u czoKKyAiIiIKKyAKKyBkZWYgdXNhZ2UoKToKKy0gICAgcHJpbnQgVVNBR0VfVEVYVAorKyAgICBw cmludChVU0FHRV9URVhUKQorICAgICBzeXMuZXhpdCgxKQorIAorIAorQEAgLTgzMzksNCArODM0 NCwzIEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgIG1haW4oKQorICAgICAjaW1w b3J0IHBkYgorICAgICAjcGRiLnJ1bignbWFpbigpJykKKy0KK2RpZmYgLS1naXQgYS9kb2NzL2Rv eHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvaW5kZXgucHkgYi9kb2NzL2RveHlnZW4vZG94eXhtbC9n ZW5lcmF0ZWQvaW5kZXgucHkKK2luZGV4IDdhNzBlMTQuLjBjNjM1MTIgMTAwNjQ0CistLS0gZG9j cy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2luZGV4LnB5CisrKysgZG9jcy9kb3h5Z2VuL2Rv eHl4bWwvZ2VuZXJhdGVkL2luZGV4LnB5CitAQCAtMywxNCArMywxNiBAQAorICIiIgorIEdlbmVy YXRlZCBNb24gRmViICA5IDE5OjA4OjA1IDIwMDkgYnkgZ2VuZXJhdGVEUy5weS4KKyAiIiIKKytm cm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorK2Zyb20gX19mdXR1cmVfXyBp bXBvcnQgdW5pY29kZV9saXRlcmFscworIAorIGZyb20geG1sLmRvbSBpbXBvcnQgbWluaWRvbQor IAorIGltcG9ydCBvcworIGltcG9ydCBzeXMKKy1pbXBvcnQgY29tcG91bmQKKytmcm9tIC4gaW1w b3J0IGNvbXBvdW5kCisgCistaW1wb3J0IGluZGV4c3VwZXIgYXMgc3VwZXJtb2QKKytmcm9tIC4g aW1wb3J0IGluZGV4c3VwZXIgYXMgc3VwZXJtb2QKKyAKKyBjbGFzcyBEb3h5Z2VuVHlwZVN1Yihz dXBlcm1vZC5Eb3h5Z2VuVHlwZSk6CisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2ZXJzaW9uPU5v bmUsIGNvbXBvdW5kPU5vbmUpOgorZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdlbi9kb3h5eG1sL2dl bmVyYXRlZC9pbmRleHN1cGVyLnB5IGIvZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2lu ZGV4c3VwZXIucHkKK2luZGV4IGE5OTE1MzAuLjExMzEyZGIgMTAwNjQ0CistLS0gZG9jcy9kb3h5 Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2luZGV4c3VwZXIucHkKKysrKyBkb2NzL2RveHlnZW4vZG94 eXhtbC9nZW5lcmF0ZWQvaW5kZXhzdXBlci5weQorQEAgLTQsMTIgKzQsMTYgQEAKKyAjIEdlbmVy YXRlZCBUaHUgSnVuIDExIDE4OjQzOjU0IDIwMDkgYnkgZ2VuZXJhdGVEUy5weS4KKyAjCisgCisr ZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorK2Zyb20gX19mdXR1cmVfXyBp bXBvcnQgdW5pY29kZV9saXRlcmFscworKworIGltcG9ydCBzeXMKKy1pbXBvcnQgZ2V0b3B0Cist ZnJvbSBzdHJpbmcgaW1wb3J0IGxvd2VyIGFzIHN0cl9sb3dlcgorKworIGZyb20geG1sLmRvbSBp bXBvcnQgbWluaWRvbQorIGZyb20geG1sLmRvbSBpbXBvcnQgTm9kZQorIAorK2ltcG9ydCBzaXgK KysKKyAjCisgIyBVc2VyIG1ldGhvZHMKKyAjCitAQCAtMTksOSArMjMsOSBAQCBmcm9tIHhtbC5k b20gaW1wb3J0IE5vZGUKKyAKKyB0cnk6CisgICAgIGZyb20gZ2VuZXJhdGVkc3N1cGVyIGltcG9y dCBHZW5lcmF0ZWRzU3VwZXIKKy1leGNlcHQgSW1wb3J0RXJyb3IsIGV4cDoKKytleGNlcHQgSW1w b3J0RXJyb3IgYXMgZXhwOgorIAorLSAgICBjbGFzcyBHZW5lcmF0ZWRzU3VwZXI6CisrICAgIGNs YXNzIEdlbmVyYXRlZHNTdXBlcihvYmplY3QpOgorICAgICAgICAgZGVmIGZvcm1hdF9zdHJpbmco c2VsZiwgaW5wdXRfZGF0YSwgaW5wdXRfbmFtZT0nJyk6CisgICAgICAgICAgICAgcmV0dXJuIGlu cHV0X2RhdGEKKyAgICAgICAgIGRlZiBmb3JtYXRfaW50ZWdlcihzZWxmLCBpbnB1dF9kYXRhLCBp bnB1dF9uYW1lPScnKToKK0BAIC02NCw3ICs2OCw3IEBAIGRlZiBzaG93SW5kZW50KG91dGZpbGUs IGxldmVsKToKKyAgICAgICAgIG91dGZpbGUud3JpdGUoJyAgICAnKQorIAorIGRlZiBxdW90ZV94 bWwoaW5TdHIpOgorLSAgICBzMSA9IChpc2luc3RhbmNlKGluU3RyLCBiYXNlc3RyaW5nKSBhbmQg aW5TdHIgb3IKKysgICAgczEgPSAoaXNpbnN0YW5jZShpblN0ciwgc2l4LnN0cmluZ190eXBlcykg YW5kIGluU3RyIG9yCisgICAgICAgICAgICclcycgJSBpblN0cikKKyAgICAgczEgPSBzMS5yZXBs YWNlKCcmJywgJyZhbXA7JykKKyAgICAgczEgPSBzMS5yZXBsYWNlKCc8JywgJyZsdDsnKQorQEAg LTcyLDcgKzc2LDcgQEAgZGVmIHF1b3RlX3htbChpblN0cik6CisgICAgIHJldHVybiBzMQorIAor IGRlZiBxdW90ZV9hdHRyaWIoaW5TdHIpOgorLSAgICBzMSA9IChpc2luc3RhbmNlKGluU3RyLCBi YXNlc3RyaW5nKSBhbmQgaW5TdHIgb3IKKysgICAgczEgPSAoaXNpbnN0YW5jZShpblN0ciwgc2l4 LnN0cmluZ190eXBlcykgYW5kIGluU3RyIG9yCisgICAgICAgICAgICclcycgJSBpblN0cikKKyAg ICAgczEgPSBzMS5yZXBsYWNlKCcmJywgJyZhbXA7JykKKyAgICAgczEgPSBzMS5yZXBsYWNlKCc8 JywgJyZsdDsnKQorQEAgLTEwMiw3ICsxMDYsNyBAQCBkZWYgcXVvdGVfcHl0aG9uKGluU3RyKToK KyAgICAgICAgICAgICByZXR1cm4gJyIiIiVzIiIiJyAlIHMxCisgCisgCistY2xhc3MgTWl4ZWRD b250YWluZXI6CisrY2xhc3MgTWl4ZWRDb250YWluZXIob2JqZWN0KToKKyAgICAgIyBDb25zdGFu dHMgZm9yIGNhdGVnb3J5OgorICAgICBDYXRlZ29yeU5vbmUgPSAwCisgICAgIENhdGVnb3J5VGV4 dCA9IDEKK0BAIC00NjIsNyArNDY2LDcgQEAgT3B0aW9uczoKKyAiIiIKKyAKKyBkZWYgdXNhZ2Uo KToKKy0gICAgcHJpbnQgVVNBR0VfVEVYVAorKyAgICBwcmludChVU0FHRV9URVhUKQorICAgICBz eXMuZXhpdCgxKQorIAorIAorQEAgLTUyMCw0ICs1MjQsMyBAQCBpZiBfX25hbWVfXyA9PSAnX19t YWluX18nOgorICAgICBtYWluKCkKKyAgICAgI2ltcG9ydCBwZGIKKyAgICAgI3BkYi5ydW4oJ21h aW4oKScpCistCitkaWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2VuL2RveHl4bWwvdGV4dC5weSBiL2Rv Y3MvZG94eWdlbi9kb3h5eG1sL3RleHQucHkKK2luZGV4IDYyOWVkZDEuLjRjNzA0MDQgMTAwNjQ0 CistLS0gZG9jcy9kb3h5Z2VuL2RveHl4bWwvdGV4dC5weQorKysrIGRvY3MvZG94eWdlbi9kb3h5 eG1sL3RleHQucHkKK0BAIC0xLDcgKzEsOCBAQAorICMKKyAjIENvcHlyaWdodCAyMDEwIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICMKKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO VSBSYWRpbworKyMgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgZ3JfbW9kdG9vbCwgYSB0b29s IGZyb20gdGhlIEdOVSBSYWRpbyBmcmFtZXdvcmsKKysjIFRoaXMgZmlsZSBpcyBhIHBhcnQgb2Yg Z3Itb3Ntb3NkcgorICMKKyAjIEdOVSBSYWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorQEAgLTIxLDEyICsy MiwxMyBAQAorICIiIgorIFV0aWxpdGllcyBmb3IgZXh0cmFjdGluZyB0ZXh0IGZyb20gZ2VuZXJh dGVkIGNsYXNzZXMuCisgIiIiCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVy YWxzCisgCisgZGVmIGlzX3N0cmluZyh0eHQpOgorICAgICBpZiBpc2luc3RhbmNlKHR4dCwgc3Ry KToKKyAgICAgICAgIHJldHVybiBUcnVlCisgICAgIHRyeToKKy0gICAgICAgIGlmIGlzaW5zdGFu Y2UodHh0LCB1bmljb2RlKToKKysgICAgICAgIGlmIGlzaW5zdGFuY2UodHh0LCBzdHIpOgorICAg ICAgICAgICAgIHJldHVybiBUcnVlCisgICAgIGV4Y2VwdCBOYW1lRXJyb3I6CisgICAgICAgICBw YXNzCitAQCAtNDksNyArNTEsNyBAQCBkZWYgZGVzY3JpcHRpb25fYml0KG9iaik6CisgICAgIGVs aWYgaXNfc3RyaW5nKG9iaik6CisgICAgICAgICByZXR1cm4gb2JqCisgICAgIGVsc2U6CistICAg ICAgICByYWlzZSBTdGFuZGFyZEVycm9yKCdFeHBlY3RpbmcgYSBzdHJpbmcgb3Igc29tZXRoaW5n IHdpdGggY29udGVudCwgY29udGVudF8gb3IgdmFsdWUgYXR0cmlidXRlJykKKysgICAgICAgIHJh aXNlIEV4Y2VwdGlvbignRXhwZWN0aW5nIGEgc3RyaW5nIG9yIHNvbWV0aGluZyB3aXRoIGNvbnRl bnQsIGNvbnRlbnRfIG9yIHZhbHVlIGF0dHJpYnV0ZScpCisgICAgICMgSWYgdGhpcyBiaXQgaXMg YSBwYXJhZ3JhcGggdGhlbiBhZGQgb25lIHNvbWUgbGluZSBicmVha3MuCisgICAgIGlmIGhhc2F0 dHIob2JqLCAnbmFtZScpIGFuZCBvYmoubmFtZSA9PSAncGFyYSc6CisgICAgICAgICByZXN1bHQg Kz0gIlxuXG4iCitkaWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2VuL290aGVyL2dyb3VwX2RlZnMuZG94 IGIvZG9jcy9kb3h5Z2VuL290aGVyL2dyb3VwX2RlZnMuZG94CitpbmRleCAwOTgxMTI4Li4wM2Yw MGMwIDEwMDY0NAorLS0tIGRvY3MvZG94eWdlbi9vdGhlci9ncm91cF9kZWZzLmRveAorKysrIGRv Y3MvZG94eWdlbi9vdGhlci9ncm91cF9kZWZzLmRveAorQEAgLTEsNiArMSw3IEBACisgLyohCist ICogXGRlZmdyb3VwIGJsb2NrIEdOVSBSYWRpbyBPc21vU0RSIEMrKyBTaWduYWwgUHJvY2Vzc2lu ZyBCbG9ja3MKKy0gKiBcYnJpZWYgQWxsIEMrKyBibG9ja3MgdGhhdCBjYW4gYmUgdXNlZCBmcm9t IHRoZSBPc21vU0RSIEdOVSBSYWRpbworKyAqIFxkZWZncm91cCBibG9jayBHTlUgUmFkaW8gT1NN T1NEUiBDKysgU2lnbmFsIFByb2Nlc3NpbmcgQmxvY2tzCisrICogXGJyaWVmIEFsbCBDKysgYmxv Y2tzIHRoYXQgY2FuIGJlIHVzZWQgZnJvbSB0aGUgT1NNT1NEUiBHTlUgUmFkaW8KKyAgKiAgICAg ICAgbW9kdWxlIGFyZSBsaXN0ZWQgaGVyZSBvciBpbiB0aGUgc3ViY2F0ZWdvcmllcyBiZWxvdy4K KyAgKgorICAqLworKworZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdlbi9vdGhlci9tYWluX3BhZ2Uu ZG94IGIvZG9jcy9kb3h5Z2VuL290aGVyL21haW5fcGFnZS5kb3gKK2luZGV4IDFlNTExMGIuLjU1 Y2Q1NDggMTAwNjQ0CistLS0gZG9jcy9kb3h5Z2VuL290aGVyL21haW5fcGFnZS5kb3gKKysrKyBk b2NzL2RveHlnZW4vb3RoZXIvbWFpbl9wYWdlLmRveAorQEAgLTEsNSArMSwxMCBAQAorIC8qISBc bWFpbnBhZ2UKKyAKKy1XZWxjb21lIHRvIHRoZSBPc21vU0RSIEdOVXJhZGlvIGJsb2NrcworK1dl bGNvbWUgdG8gdGhlIEdOVSBSYWRpbyBPU01PU0RSIEJsb2NrCisrCisrVGhpcyBpcyB0aGUgaW50 cm8gcGFnZSBmb3IgdGhlIERveHlnZW4gbWFudWFsIGdlbmVyYXRlZCBmb3IgdGhlIE9TTU9TRFIK KytibG9jayAoZG9jcy9kb3h5Z2VuL290aGVyL21haW5fcGFnZS5kb3gpLiBFZGl0IGl0IHRvIGFk ZCBtb3JlIGRldGFpbGVkCisrZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgbmV3IEdOVSBSYWRpbyBt b2R1bGVzIGNvbnRhaW5lZCBpbiB0aGlzCisrcHJvamVjdC4KKyAKKyAqLworZGlmZiAtLWdpdCBh L2RvY3MvZG94eWdlbi9zd2lnX2RvYy5weSBiL2RvY3MvZG94eWdlbi9zd2lnX2RvYy5weQoraW5k ZXggNGUxY2UyZS4uZTNiMzA4ZSAxMDA2NDQKKy0tLSBkb2NzL2RveHlnZW4vc3dpZ19kb2MucHkK KysrKyBkb2NzL2RveHlnZW4vc3dpZ19kb2MucHkKK0BAIC0xLDcgKzEsOCBAQAorICMKKy0jIENv cHlyaWdodCAyMDEwLDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIyBDb3B5 cmlnaHQgMjAxMC0yMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICMKKy0jIFRo aXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworKyMgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQg YnkgZ3JfbW9kdG9vbCwgYSB0b29sIGZyb20gdGhlIEdOVSBSYWRpbyBmcmFtZXdvcmsKKysjIFRo aXMgZmlsZSBpcyBhIHBhcnQgb2YgZ3Itb3Ntb3NkcgorICMKKyAjIEdOVSBSYWRpbyBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorQEAgLTI2LDE0ICsyNywxMiBAQCBUaGUgZmlsZSBpbnN0cnVjdHMgU1dJRyB0byB0 cmFuc2ZlciB0aGUgZG94eWdlbiBjb21tZW50cyBpbnRvIHRoZQorIHB5dGhvbiBkb2NzdHJpbmdz LgorIAorICIiIgorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgdW5pY29kZV9saXRlcmFscworIAor LWltcG9ydCBzeXMKKy0KKy10cnk6CistICAgIGZyb20gZG94eXhtbCBpbXBvcnQgRG94eUluZGV4 LCBEb3h5Q2xhc3MsIERveHlGcmllbmQsIERveHlGdW5jdGlvbiwgRG94eUZpbGUsIGJhc2UKKy1l eGNlcHQgSW1wb3J0RXJyb3I6CistICAgIGZyb20gZ251cmFkaW8uZG94eXhtbCBpbXBvcnQgRG94 eUluZGV4LCBEb3h5Q2xhc3MsIERveHlGcmllbmQsIERveHlGdW5jdGlvbiwgRG94eUZpbGUsIGJh c2UKKytpbXBvcnQgc3lzLCB0aW1lCisgCisrZnJvbSBkb3h5eG1sIGltcG9ydCBEb3h5SW5kZXgs IERveHlDbGFzcywgRG94eUZyaWVuZCwgRG94eUZ1bmN0aW9uLCBEb3h5RmlsZQorK2Zyb20gZG94 eXhtbCBpbXBvcnQgRG94eU90aGVyLCBiYXNlCisgCisgZGVmIHB5X25hbWUobmFtZSk6CisgICAg IGJpdHMgPSBuYW1lLnNwbGl0KCdfJykKK0BAIC01NiwxOCArNTUsNDEgQEAgY2xhc3MgQmxvY2so b2JqZWN0KToKKyAgICAgICAgICMgQ2hlY2sgZm9yIGEgcGFyc2luZyBlcnJvci4KKyAgICAgICAg IGlmIGl0ZW0uZXJyb3IoKToKKyAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIHJl dHVybiBpdGVtLmhhc19tZW1iZXIobWFrZV9uYW1lKGl0ZW0ubmFtZSgpKSwgRG94eUZyaWVuZCkK KysgICAgICAgIGZyaWVuZG5hbWUgPSBtYWtlX25hbWUoaXRlbS5uYW1lKCkpCisrICAgICAgICBp c19hX2Jsb2NrID0gaXRlbS5oYXNfbWVtYmVyKGZyaWVuZG5hbWUsIERveHlGcmllbmQpCisrICAg ICAgICAjIEJ1dCBub3cgc29tZXRpbWVzIHRoZSBtYWtlIGZ1bmN0aW9uIGlzbid0IGEgZnJpZW5k IHNvIGNoZWNrIGFnYWluLgorKyAgICAgICAgaWYgbm90IGlzX2FfYmxvY2s6CisrICAgICAgICAg ICAgaXNfYV9ibG9jayA9IGRpLmhhc19tZW1iZXIoZnJpZW5kbmFtZSwgRG94eUZ1bmN0aW9uKQor KyAgICAgICAgcmV0dXJuIGlzX2FfYmxvY2sKKysKKytjbGFzcyBCbG9jazIob2JqZWN0KToKKysg ICAgIiIiCisrICAgIENoZWNrcyBpZiBkb3h5eG1sIHByb2R1Y2VkIG9iamVjdHMgY29ycmVzcG9u ZCB0byBhIG5ldyBzdHlsZQorKyAgICBnbnVyYWRpbyBibG9jay4KKysgICAgIiIiCisrCisrICAg IEBjbGFzc21ldGhvZAorKyAgICBkZWYgaW5jbHVkZXMoY2xzLCBpdGVtKToKKysgICAgICAgIGlm IG5vdCBpc2luc3RhbmNlKGl0ZW0sIERveHlDbGFzcyk6CisrICAgICAgICAgICAgcmV0dXJuIEZh bHNlCisrICAgICAgICAjIENoZWNrIGZvciBhIHBhcnNpbmcgZXJyb3IuCisrICAgICAgICBpZiBp dGVtLmVycm9yKCk6CisrICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisrICAgICAgICBpc19hX2Js b2NrMiA9IGl0ZW0uaGFzX21lbWJlcignbWFrZScsIERveHlGdW5jdGlvbikgYW5kIGl0ZW0uaGFz X21lbWJlcignc3B0cicsIERveHlPdGhlcikKKysgICAgICAgIHJldHVybiBpc19hX2Jsb2NrMgor IAorIAorIGRlZiB1dG9hc2NpaSh0ZXh0KToKKyAgICAgIiIiCistICAgIENvbnZlcnQgdW5pY29k ZSB0ZXh0IGludG8gYXNjaWkgYW5kIGVzY2FwZSBxdW90ZXMuCisrICAgIENvbnZlcnQgdW5pY29k ZSB0ZXh0IGludG8gYXNjaWkgYW5kIGVzY2FwZSBxdW90ZXMgYW5kIGJhY2tzbGFzaGVzLgorICAg ICAiIiIKKyAgICAgaWYgdGV4dCBpcyBOb25lOgorICAgICAgICAgcmV0dXJuICcnCisgICAgIG91 dCA9IHRleHQuZW5jb2RlKCdhc2NpaScsICdyZXBsYWNlJykKKy0gICAgb3V0ID0gb3V0LnJlcGxh Y2UoJyInLCAnXFwiJykKKy0gICAgcmV0dXJuIG91dAorKyAgICAjIHN3aWcgd2lsbCByZXF1aXJl IHVzIHRvIHJlcGxhY2UgYmxhY2tzbGFzaCB3aXRoIDQgYmFja3NsYXNoZXMKKysgICAgb3V0ID0g b3V0LnJlcGxhY2UoYidcXCcsIGInXFxcXFxcXFwnKQorKyAgICBvdXQgPSBvdXQucmVwbGFjZShi JyInLCBiJ1xcIicpLmRlY29kZSgnYXNjaWknKQorKyAgICByZXR1cm4gc3RyKG91dCkKKyAKKyAK KyBkZWYgY29tYmluZV9kZXNjcmlwdGlvbnMob2JqKToKK0BAIC04Myw5ICsxMDUsMTUgQEAgZGVm IGNvbWJpbmVfZGVzY3JpcHRpb25zKG9iaik6CisgICAgICAgICBkZXNjcmlwdGlvbi5hcHBlbmQo ZGQpCisgICAgIHJldHVybiB1dG9hc2NpaSgnXG5cbicuam9pbihkZXNjcmlwdGlvbikpLnN0cmlw KCkKKyAKKytkZWYgZm9ybWF0X3BhcmFtcyhwYXJhbWV0ZXJpdGVtcyk6CisrICAgIG91dHB1dCA9 IFsnQXJnczonXQorKyAgICB0ZW1wbGF0ZSA9ICcgICAgezB9IDogezF9JworKyAgICBmb3IgcGkg aW4gcGFyYW1ldGVyaXRlbXM6CisrICAgICAgICBvdXRwdXQuYXBwZW5kKHRlbXBsYXRlLmZvcm1h dChwaS5uYW1lLCBwaS5kZXNjcmlwdGlvbikpCisrICAgIHJldHVybiAnXG4nLmpvaW4ob3V0cHV0 KQorIAorIGVudHJ5X3RlbXBsID0gJyVmZWF0dXJlKCJkb2NzdHJpbmciKSB7bmFtZX0gIntkb2Nz dHJpbmd9IicKKy1kZWYgbWFrZV9lbnRyeShvYmosIG5hbWU9Tm9uZSwgdGVtcGw9IntkZXNjcmlw dGlvbn0iLCBkZXNjcmlwdGlvbj1Ob25lKToKKytkZWYgbWFrZV9lbnRyeShvYmosIG5hbWU9Tm9u ZSwgdGVtcGw9IntkZXNjcmlwdGlvbn0iLCBkZXNjcmlwdGlvbj1Ob25lLCBwYXJhbXM9W10pOgor ICAgICAiIiIKKyAgICAgQ3JlYXRlIGEgZG9jc3RyaW5nIGVudHJ5IGZvciBhIHN3aWcgaW50ZXJm YWNlIGZpbGUuCisgCitAQCAtMTAyLDYgKzEzMCw5IEBAIGRlZiBtYWtlX2VudHJ5KG9iaiwgbmFt ZT1Ob25lLCB0ZW1wbD0ie2Rlc2NyaXB0aW9ufSIsIGRlc2NyaXB0aW9uPU5vbmUpOgorICAgICAg ICAgcmV0dXJuICcnCisgICAgIGlmIGRlc2NyaXB0aW9uIGlzIE5vbmU6CisgICAgICAgICBkZXNj cmlwdGlvbiA9IGNvbWJpbmVfZGVzY3JpcHRpb25zKG9iaikKKysgICAgaWYgcGFyYW1zOgorKyAg ICAgICAgZGVzY3JpcHRpb24gKz0gJ1xuXG4nCisrICAgICAgICBkZXNjcmlwdGlvbiArPSB1dG9h c2NpaShmb3JtYXRfcGFyYW1zKHBhcmFtcykpCisgICAgIGRvY3N0cmluZyA9IHRlbXBsLmZvcm1h dChkZXNjcmlwdGlvbj1kZXNjcmlwdGlvbikKKyAgICAgaWYgbm90IGRvY3N0cmluZzoKKyAgICAg ICAgIHJldHVybiAnJworQEAgLTEyMSwyNyArMTUyLDMxIEBAIGRlZiBtYWtlX2Z1bmNfZW50cnko ZnVuYywgbmFtZT1Ob25lLCBkZXNjcmlwdGlvbj1Ob25lLCBwYXJhbXM9Tm9uZSk6CisgICAgICAg ICAgICAgdXNlZCBhcyB0aGUgZGVzY3JpcHRpb24gaW5zdGVhZCBvZiBleHRyYWN0aW5nIGl0IGZy b20gZnVuYy4KKyAgICAgcGFyYW1zIC0gYSBwYXJhbWV0ZXIgbGlzdCB0aGF0IG92ZXJyaWRlcyB1 c2luZyBmdW5jLnBhcmFtcy4KKyAgICAgIiIiCistICAgIGlmIHBhcmFtcyBpcyBOb25lOgorLSAg ICAgICAgcGFyYW1zID0gZnVuYy5wYXJhbXMKKy0gICAgcGFyYW1zID0gW3BybS5kZWNsbmFtZSBm b3IgcHJtIGluIHBhcmFtc10KKy0gICAgaWYgcGFyYW1zOgorLSAgICAgICAgc2lnID0gIlBhcmFt czogKCVzKSIgJSAiLCAiLmpvaW4ocGFyYW1zKQorLSAgICBlbHNlOgorLSAgICAgICAgc2lnID0g IlBhcmFtczogKE5PTkUpIgorLSAgICB0ZW1wbCA9ICJ7ZGVzY3JpcHRpb259XG5cbiIgKyBzaWcK Ky0gICAgcmV0dXJuIG1ha2VfZW50cnkoZnVuYywgbmFtZT1uYW1lLCB0ZW1wbD11dG9hc2NpaSh0 ZW1wbCksCistICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uKQor LQorLQorLWRlZiBtYWtlX2NsYXNzX2VudHJ5KGtsYXNzLCBkZXNjcmlwdGlvbj1Ob25lKToKKysg ICAgI2lmIHBhcmFtcyBpcyBOb25lOgorKyAgICAjICAgIHBhcmFtcyA9IGZ1bmMucGFyYW1zCisr ICAgICNwYXJhbXMgPSBbcHJtLmRlY2xuYW1lIGZvciBwcm0gaW4gcGFyYW1zXQorKyAgICAjaWYg cGFyYW1zOgorKyAgICAjICAgIHNpZyA9ICJQYXJhbXM6ICglcykiICUgIiwgIi5qb2luKHBhcmFt cykKKysgICAgI2Vsc2U6CisrICAgICMgICAgc2lnID0gIlBhcmFtczogKE5PTkUpIgorKyAgICAj dGVtcGwgPSAie2Rlc2NyaXB0aW9ufVxuXG4iICsgc2lnCisrICAgICNyZXR1cm4gbWFrZV9lbnRy eShmdW5jLCBuYW1lPW5hbWUsIHRlbXBsPXV0b2FzY2lpKHRlbXBsKSwKKysgICAgIyAgICAgICAg ICAgICAgICAgIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uKQorKyAgICByZXR1cm4gbWFrZV9lbnRy eShmdW5jLCBuYW1lPW5hbWUsIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uLCBwYXJhbXM9cGFyYW1z KQorKworKworK2RlZiBtYWtlX2NsYXNzX2VudHJ5KGtsYXNzLCBkZXNjcmlwdGlvbj1Ob25lLCBp Z25vcmVkX21ldGhvZHM9W10sIHBhcmFtcz1Ob25lKToKKyAgICAgIiIiCisgICAgIENyZWF0ZSBh IGNsYXNzIGRvY3N0cmluZyBmb3IgYSBzd2lnIGludGVyZmFjZSBmaWxlLgorICAgICAiIiIKKysg ICAgaWYgcGFyYW1zIGlzIE5vbmU6CisrICAgICAgICBwYXJhbXMgPSBrbGFzcy5wYXJhbXMKKyAg ICAgb3V0cHV0ID0gW10KKy0gICAgb3V0cHV0LmFwcGVuZChtYWtlX2VudHJ5KGtsYXNzLCBkZXNj cmlwdGlvbj1kZXNjcmlwdGlvbikpCisrICAgIG91dHB1dC5hcHBlbmQobWFrZV9lbnRyeShrbGFz cywgZGVzY3JpcHRpb249ZGVzY3JpcHRpb24sIHBhcmFtcz1wYXJhbXMpKQorICAgICBmb3IgZnVu YyBpbiBrbGFzcy5pbl9jYXRlZ29yeShEb3h5RnVuY3Rpb24pOgorLSAgICAgICAgbmFtZSA9IGts YXNzLm5hbWUoKSArICc6OicgKyBmdW5jLm5hbWUoKQorLSAgICAgICAgb3V0cHV0LmFwcGVuZCht YWtlX2Z1bmNfZW50cnkoZnVuYywgbmFtZT1uYW1lKSkKKysgICAgICAgIGlmIGZ1bmMubmFtZSgp IG5vdCBpbiBpZ25vcmVkX21ldGhvZHM6CisrICAgICAgICAgICAgbmFtZSA9IGtsYXNzLm5hbWUo KSArICc6OicgKyBmdW5jLm5hbWUoKQorKyAgICAgICAgICAgIG91dHB1dC5hcHBlbmQobWFrZV9m dW5jX2VudHJ5KGZ1bmMsIG5hbWU9bmFtZSkpCisgICAgIHJldHVybiAiXG5cbiIuam9pbihvdXRw dXQpCisgCisgCitAQCAtMTc1LDExICsyMTAsMzMgQEAgZGVmIG1ha2VfYmxvY2tfZW50cnkoZGks IGJsb2NrKToKKyAgICAgIyB0aGUgbWFrZSBmdW5jdGlvbi4KKyAgICAgb3V0cHV0ID0gW10KKyAg ICAgb3V0cHV0LmFwcGVuZChtYWtlX2NsYXNzX2VudHJ5KGJsb2NrLCBkZXNjcmlwdGlvbj1zdXBl cl9kZXNjcmlwdGlvbikpCistICAgIGNyZWF0b3IgPSBibG9jay5nZXRfbWVtYmVyKGJsb2NrLm5h bWUoKSwgRG94eUZ1bmN0aW9uKQorICAgICBvdXRwdXQuYXBwZW5kKG1ha2VfZnVuY19lbnRyeSht YWtlX2Z1bmMsIGRlc2NyaXB0aW9uPXN1cGVyX2Rlc2NyaXB0aW9uLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwYXJhbXM9Y3JlYXRvci5wYXJhbXMpKQorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM9YmxvY2sucGFyYW1zKSkKKyAgICAgcmV0dXJu ICJcblxuIi5qb2luKG91dHB1dCkKKyAKKytkZWYgbWFrZV9ibG9jazJfZW50cnkoZGksIGJsb2Nr KToKKysgICAgIiIiCisrICAgIENyZWF0ZSBjbGFzcyBhbmQgZnVuY3Rpb24gZG9jc3RyaW5ncyBv ZiBhIG5ldyBzdHlsZSBnbnVyYWRpbyBibG9jayBmb3IgYQorKyAgICBzd2lnIGludGVyZmFjZSBm aWxlLgorKyAgICAiIiIKKysgICAgZGVzY3JpcHRpb25zID0gW10KKysgICAgIyBGb3IgbmV3IHN0 eWxlIGJsb2NrcyBhbGwgdGhlIHJlbGV2YW50IGRvY3VtZW50YXRpb24gc2hvdWxkIGJlCisrICAg ICMgYXNzb2NpYXRlZCB3aXRoIHRoZSAnbWFrZScgbWV0aG9kLgorKyAgICBjbGFzc19kZXNjcmlw dGlvbiA9IGNvbWJpbmVfZGVzY3JpcHRpb25zKGJsb2NrKQorKyAgICBtYWtlX2Z1bmMgPSBibG9j ay5nZXRfbWVtYmVyKCdtYWtlJywgRG94eUZ1bmN0aW9uKQorKyAgICBtYWtlX2Rlc2NyaXB0aW9u ID0gY29tYmluZV9kZXNjcmlwdGlvbnMobWFrZV9mdW5jKQorKyAgICBkZXNjcmlwdGlvbiA9IGNs YXNzX2Rlc2NyaXB0aW9uICsgIlxuXG5Db25zdHJ1Y3RvciBTcGVjaWZpYyBEb2N1bWVudGF0aW9u OlxuXG4iICsgbWFrZV9kZXNjcmlwdGlvbgorKyAgICAjIEFzc29jaWF0ZSB0aGUgY29tYmluZWQg ZGVzY3JpcHRpb24gd2l0aCB0aGUgY2xhc3MgYW5kCisrICAgICMgdGhlIG1ha2UgZnVuY3Rpb24u CisrICAgIG91dHB1dCA9IFtdCisrICAgIG91dHB1dC5hcHBlbmQobWFrZV9jbGFzc19lbnRyeSgK KysgICAgICAgICAgICBibG9jaywgZGVzY3JpcHRpb249ZGVzY3JpcHRpb24sCisrICAgICAgICAg ICAgaWdub3JlZF9tZXRob2RzPVsnbWFrZSddLCBwYXJhbXM9bWFrZV9mdW5jLnBhcmFtcykpCisr ICAgIG1ha2VuYW1lID0gYmxvY2submFtZSgpICsgJzo6bWFrZScKKysgICAgb3V0cHV0LmFwcGVu ZChtYWtlX2Z1bmNfZW50cnkoCisrICAgICAgICAgICAgbWFrZV9mdW5jLCBuYW1lPW1ha2VuYW1l LCBkZXNjcmlwdGlvbj1kZXNjcmlwdGlvbiwKKysgICAgICAgICAgICBwYXJhbXM9bWFrZV9mdW5j LnBhcmFtcykpCisrICAgIHJldHVybiAiXG5cbiIuam9pbihvdXRwdXQpCisgCisgZGVmIG1ha2Vf c3dpZ19pbnRlcmZhY2VfZmlsZShkaSwgc3dpZ2RvY2ZpbGVuYW1lLCBjdXN0b21fb3V0cHV0PU5v bmUpOgorIAorQEAgLTE5NiwzOSArMjUzLDU5IEBAIGRlZiBtYWtlX3N3aWdfaW50ZXJmYWNlX2Zp bGUoZGksIHN3aWdkb2NmaWxlbmFtZSwgY3VzdG9tX291dHB1dD1Ob25lKToKKyAKKyAgICAgIyBD cmVhdGUgZG9jc3RyaW5ncyBmb3IgdGhlIGJsb2Nrcy4KKyAgICAgYmxvY2tzID0gZGkuaW5fY2F0 ZWdvcnkoQmxvY2spCisrICAgIGJsb2NrczIgPSBkaS5pbl9jYXRlZ29yeShCbG9jazIpCisrCisg ICAgIG1ha2VfZnVuY3MgPSBzZXQoW10pCisgICAgIGZvciBibG9jayBpbiBibG9ja3M6CisgICAg ICAgICB0cnk6CisgICAgICAgICAgICAgbWFrZV9mdW5jID0gZGkuZ2V0X21lbWJlcihtYWtlX25h bWUoYmxvY2submFtZSgpKSwgRG94eUZ1bmN0aW9uKQorLSAgICAgICAgICAgIG1ha2VfZnVuY3Mu YWRkKG1ha2VfZnVuYy5uYW1lKCkpCistICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChtYWtlX2Js b2NrX2VudHJ5KGRpLCBibG9jaykpCisrICAgICAgICAgICAgIyBEb24ndCB3YW50IHRvIHJpc2sg d3JpdGluZyB0byBvdXRwdXQgdHdpY2UuCisrICAgICAgICAgICAgaWYgbWFrZV9mdW5jLm5hbWUo KSBub3QgaW4gbWFrZV9mdW5jczoKKysgICAgICAgICAgICAgICAgbWFrZV9mdW5jcy5hZGQobWFr ZV9mdW5jLm5hbWUoKSkKKysgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChtYWtlX2Jsb2Nr X2VudHJ5KGRpLCBibG9jaykpCisrICAgICAgICBleGNlcHQgYmxvY2suUGFyc2luZ0Vycm9yOgor KyAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ1BhcnNpbmcgZXJyb3IgZm9yIGJsb2NrIHsw fVxuJy5mb3JtYXQoYmxvY2submFtZSgpKSkKKysgICAgICAgICAgICByYWlzZQorKworKyAgICBm b3IgYmxvY2sgaW4gYmxvY2tzMjoKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICBtYWtlX2Z1 bmMgPSBibG9jay5nZXRfbWVtYmVyKCdtYWtlJywgRG94eUZ1bmN0aW9uKQorKyAgICAgICAgICAg IG1ha2VfZnVuY19uYW1lID0gYmxvY2submFtZSgpICsnOjptYWtlJworKyAgICAgICAgICAgICMg RG9uJ3Qgd2FudCB0byByaXNrIHdyaXRpbmcgdG8gb3V0cHV0IHR3aWNlLgorKyAgICAgICAgICAg IGlmIG1ha2VfZnVuY19uYW1lIG5vdCBpbiBtYWtlX2Z1bmNzOgorKyAgICAgICAgICAgICAgICBt YWtlX2Z1bmNzLmFkZChtYWtlX2Z1bmNfbmFtZSkKKysgICAgICAgICAgICAgICAgb3V0cHV0LmFw cGVuZChtYWtlX2Jsb2NrMl9lbnRyeShkaSwgYmxvY2spKQorICAgICAgICAgZXhjZXB0IGJsb2Nr LlBhcnNpbmdFcnJvcjoKKy0gICAgICAgICAgICBwcmludCgnUGFyc2luZyBlcnJvciBmb3IgYmxv Y2sgJXMnICUgYmxvY2submFtZSgpKQorKyAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ1Bh cnNpbmcgZXJyb3IgZm9yIGJsb2NrIHswfVxuJy5mb3JtYXQoYmxvY2submFtZSgpKSkKKysgICAg ICAgICAgICByYWlzZQorIAorICAgICAjIENyZWF0ZSBkb2NzdHJpbmdzIGZvciBmdW5jdGlvbnMK KyAgICAgIyBEb24ndCBpbmNsdWRlIHRoZSBtYWtlIGZ1bmN0aW9ucyBzaW5jZSB0aGV5IGhhdmUg YWxyZWFkeSBiZWVuIGRlYWx0IHdpdGguCistICAgIGZ1bmNzID0gW2YgZm9yIGYgaW4gZGkuaW5f Y2F0ZWdvcnkoRG94eUZ1bmN0aW9uKSBpZiBmLm5hbWUoKSBub3QgaW4gbWFrZV9mdW5jc10KKysg ICAgZnVuY3MgPSBbZiBmb3IgZiBpbiBkaS5pbl9jYXRlZ29yeShEb3h5RnVuY3Rpb24pCisrICAg ICAgICAgICAgIGlmIGYubmFtZSgpIG5vdCBpbiBtYWtlX2Z1bmNzIGFuZCBub3QgZi5uYW1lKCku c3RhcnRzd2l0aCgnc3RkOjonKV0KKyAgICAgZm9yIGYgaW4gZnVuY3M6CisgICAgICAgICB0cnk6 CisgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChtYWtlX2Z1bmNfZW50cnkoZikpCisgICAgICAg ICBleGNlcHQgZi5QYXJzaW5nRXJyb3I6CistICAgICAgICAgICAgcHJpbnQoJ1BhcnNpbmcgZXJy b3IgZm9yIGZ1bmN0aW9uICVzJyAlIGYubmFtZSgpKQorKyAgICAgICAgICAgIHN5cy5zdGRlcnIu d3JpdGUoJ1BhcnNpbmcgZXJyb3IgZm9yIGZ1bmN0aW9uIHswfVxuJy5mb3JtYXQoZi5uYW1lKCkp KQorIAorICAgICAjIENyZWF0ZSBkb2NzdHJpbmdzIGZvciBjbGFzc2VzCisgICAgIGJsb2NrX25h bWVzID0gW2Jsb2NrLm5hbWUoKSBmb3IgYmxvY2sgaW4gYmxvY2tzXQorLSAgICBrbGFzc2VzID0g W2sgZm9yIGsgaW4gZGkuaW5fY2F0ZWdvcnkoRG94eUNsYXNzKSBpZiBrLm5hbWUoKSBub3QgaW4g YmxvY2tfbmFtZXNdCisrICAgIGJsb2NrX25hbWVzICs9IFtibG9jay5uYW1lKCkgZm9yIGJsb2Nr IGluIGJsb2NrczJdCisrICAgIGtsYXNzZXMgPSBbayBmb3IgayBpbiBkaS5pbl9jYXRlZ29yeShE b3h5Q2xhc3MpCisrICAgICAgICAgICAgICAgaWYgay5uYW1lKCkgbm90IGluIGJsb2NrX25hbWVz IGFuZCBub3Qgay5uYW1lKCkuc3RhcnRzd2l0aCgnc3RkOjonKV0KKyAgICAgZm9yIGsgaW4ga2xh c3NlczoKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKG1ha2VfY2xh c3NfZW50cnkoaykpCisgICAgICAgICBleGNlcHQgay5QYXJzaW5nRXJyb3I6CistICAgICAgICAg ICAgcHJpbnQoJ1BhcnNpbmcgZXJyb3IgZm9yIGNsYXNzICVzJyAlIGsubmFtZSgpKQorKyAgICAg ICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ1BhcnNpbmcgZXJyb3IgZm9yIGNsYXNzIHswfVxuJy5m b3JtYXQoay5uYW1lKCkpKQorIAorICAgICAjIERvY3N0cmluZ3MgYXJlIG5vdCBjcmVhdGVkIGZv ciBhbnl0aGluZyB0aGF0IGlzIG5vdCBhIGZ1bmN0aW9uIG9yIGEgY2xhc3MuCisgICAgICMgSWYg dGhpcyBleGNsdWRlcyBhbnl0aGluZyBpbXBvcnRhbnQgcGxlYXNlIGFkZCBpdCBoZXJlLgorIAor ICAgICBvdXRwdXQgPSAiXG5cbiIuam9pbihvdXRwdXQpCisgCistICAgIHN3aWdfZG9jID0gZmls ZShzd2lnZG9jZmlsZW5hbWUsICd3JykKKysgICAgc3dpZ19kb2MgPSBvcGVuKHN3aWdkb2NmaWxl bmFtZSwgJ3cnKQorICAgICBzd2lnX2RvYy53cml0ZShvdXRwdXQpCisgICAgIHN3aWdfZG9jLmNs b3NlKCkKKyAKK0BAIC0yMzYsNyArMzEzLDcgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoK KyAgICAgIyBQYXJzZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBhbmQgc2V0IHVwIGRveHl4bWwuCisg ICAgIGVycl9tc2cgPSAiRXhlY3V0ZSB1c2luZzogcHl0aG9uIHN3aWdfZG9jLnB5IHhtbF9wYXRo IG91dHB1dGZpbGVuYW1lIgorICAgICBpZiBsZW4oc3lzLmFyZ3YpICE9IDM6CistICAgICAgICBy YWlzZSBTdGFuZGFyZEVycm9yKGVycl9tc2cpCisrICAgICAgICByYWlzZSBFeGNlcHRpb24oZXJy X21zZykKKyAgICAgeG1sX3BhdGggPSBzeXMuYXJndlsxXQorICAgICBzd2lnZG9jZmlsZW5hbWUg PSBzeXMuYXJndlsyXQorICAgICBkaSA9IERveHlJbmRleCh4bWxfcGF0aCkKK2RpZmYgLS1naXQg YS9ncmMvQ01ha2VMaXN0cy50eHQgYi9ncmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDA5ODM4YzEu LjI2YjRkM2EgMTAwNjQ0CistLS0gZ3JjL0NNYWtlTGlzdHMudHh0CisrKysgZ3JjL0NNYWtlTGlz dHMudHh0CitAQCAtMjIsMjQgKzIyLDIzIEBACisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgaW5jbHVkZShH clB5dGhvbikKKyAKKy1tYWNybyhHRU5fQkxPQ0tfWE1MIF9nZW5lcmF0b3IgX3htbF9ibG9jaykK KyttYWNybyhHRU5fQkxPQ0tfWUFNTCBfZ2VuZXJhdG9yIF95YW1sX2Jsb2NrKQorICAgICBzZXQo Z2VuZXJhdG9yICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8ke19nZW5lcmF0b3J9KQorLSAg ICBzZXQoeG1sX2Jsb2NrICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke194bWxfYmxvY2t9 KQorLSAgICBsaXN0KEFQUEVORCB4bWxfYmxvY2tzICR7eG1sX2Jsb2NrfSkKKysgICAgc2V0KHlh bWxfYmxvY2sgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7X3lhbWxfYmxvY2t9KQorKyAg ICBsaXN0KEFQUEVORCB5YW1sX2Jsb2NrcyAke3lhbWxfYmxvY2t9KQorICAgICBhZGRfY3VzdG9t X2NvbW1hbmQoCistICAgICAgICBERVBFTkRTICR7Z2VuZXJhdG9yfSBPVVRQVVQgJHt4bWxfYmxv Y2t9CistICAgICAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Z2VuZXJhdG9yfSAk e3htbF9ibG9ja30KKysgICAgICAgIERFUEVORFMgJHtnZW5lcmF0b3J9IE9VVFBVVCAke3lhbWxf YmxvY2t9CisrICAgICAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Z2VuZXJhdG9y fSAke3lhbWxfYmxvY2t9CisgICAgICkKKy1lbmRtYWNybyhHRU5fQkxPQ0tfWE1MKQorK2VuZG1h Y3JvKEdFTl9CTE9DS19ZQU1MKQorIAorLUdFTl9CTE9DS19YTUwoZ2VuX29zbW9zZHJfYmxvY2tz LnB5ICAgIHJ0bHNkcl9zb3VyY2UueG1sKQorLUdFTl9CTE9DS19YTUwoZ2VuX29zbW9zZHJfYmxv Y2tzLnB5ICAgIG9zbW9zZHJfc291cmNlLnhtbCkKKy1HRU5fQkxPQ0tfWE1MKGdlbl9vc21vc2Ry X2Jsb2Nrcy5weSAgICBvc21vc2RyX3NpbmsueG1sKQorK0dFTl9CTE9DS19ZQU1MKGdlbl9vc21v c2RyX2Jsb2Nrcy5weSAgICBydGxzZHJfc291cmNlLnltbCkKKytHRU5fQkxPQ0tfWUFNTChnZW5f b3Ntb3Nkcl9ibG9ja3MucHkgICAgb3Ntb3Nkcl9zb3VyY2UueW1sKQorK0dFTl9CTE9DS19ZQU1M KGdlbl9vc21vc2RyX2Jsb2Nrcy5weSAgICBvc21vc2RyX3NpbmsueW1sKQorIAorLWFkZF9jdXN0 b21fdGFyZ2V0KG9zbW9zZHJfZ3JjX3htbF9ibG9ja3MgQUxMIERFUEVORFMgJHt4bWxfYmxvY2tz fSkKKythZGRfY3VzdG9tX3RhcmdldChvc21vc2RyX2dyY195YW1sX2Jsb2NrcyBBTEwgREVQRU5E UyAke3lhbWxfYmxvY2tzfSkKKyAKKyBpbnN0YWxsKEZJTEVTCistICAgICR7eG1sX2Jsb2Nrc30K Ky0jICAgIERFU1RJTkFUSU9OICR7R1JDX0JMT0NLU19ESVJ9CisrICAgICR7eWFtbF9ibG9ja3N9 CisgICAgIERFU1RJTkFUSU9OIHNoYXJlL2dudXJhZGlvL2dyYy9ibG9ja3MKKyApCitkaWZmIC0t Z2l0IGEvZ3JjL2dlbl9vc21vc2RyX2Jsb2Nrcy5weSBiL2dyYy9nZW5fb3Ntb3Nkcl9ibG9ja3Mu cHkKK2luZGV4IGQxZjJiMWEuLjliZWY3YjggMTAwNjQ0CistLS0gZ3JjL2dlbl9vc21vc2RyX2Js b2Nrcy5weQorKysrIGdyYy9nZW5fb3Ntb3Nkcl9ibG9ja3MucHkKK0BAIC00NzQsMTUgKzQ3NCwx NSBAQCBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgICBlbGlmIHRhaWwuc3RhcnRzd2l0 aCgnb3Ntb3NkcicpOgorICAgICAgIHRpdGxlID0gJ29zbW9jb20nCisgICAgICAgcHJlZml4ID0g J29zbW9zZHInCistICAgIGVsc2U6IHJhaXNlIEV4Y2VwdGlvbiwgJ2ZpbGUgJXMgaGFzIHdyb25n IHN5bnRheCEnJXRhaWwKKysgICAgZWxzZTogcmFpc2UgRXhjZXB0aW9uKCJmaWxlIHt9IGhhcyB3 cm9uZyBzeW50YXghIi5mb3JtYXQodGFpbCkpCisgCistICAgIGlmIHRhaWwuZW5kc3dpdGggKCdz b3VyY2UueG1sJyk6CisrICAgIGlmIHRhaWwuZW5kc3dpdGggKCdzb3VyY2UueW1sJyk6CisgICAg ICAgc291cmsgPSAnc291cmNlJworICAgICAgIGRpciA9ICdvdXQnCistICAgIGVsaWYgdGFpbC5l bmRzd2l0aCAoJ3NpbmsueG1sJyk6CisrICAgIGVsaWYgdGFpbC5lbmRzd2l0aCAoJ3NpbmsueW1s Jyk6CisgICAgICAgc291cmsgPSAnc2luaycKKyAgICAgICBkaXIgPSAnaW4nCistICAgIGVsc2U6 IHJhaXNlIEV4Y2VwdGlvbiwgJ2lzICVzIGEgc291cmNlIG9yIHNpbms/JyVmaWxlCisrICAgIGVs c2U6IHJhaXNlIEV4Y2VwdGlvbigiaXMge30gYSBzb3VyY2Ugb3Igc2luaz8iLmZvcm1hdChmaWxl KSkKKyAKKyAgICAgcGFyYW1zID0gJycuam9pbihbcGFyc2VfdG1wbChQQVJBTVNfVE1QTCwgbj1u LCBzb3Vyaz1zb3VyaykgZm9yIG4gaW4gcmFuZ2UobWF4X251bV9jaGFubmVscyldKQorICAgICBv cGVuKGZpbGUsICd3Jykud3JpdGUocGFyc2VfdG1wbChNQUlOX1RNUEwsCitkaWZmIC0tZ2l0IGEv aW5jbHVkZS9vc21vc2RyL0NNYWtlTGlzdHMudHh0IGIvaW5jbHVkZS9vc21vc2RyL0NNYWtlTGlz dHMudHh0CitpbmRleCBkMTg1ZWU2Li4xOWNhM2JjIDEwMDY0NAorLS0tIGluY2x1ZGUvb3Ntb3Nk ci9DTWFrZUxpc3RzLnR4dAorKysrIGluY2x1ZGUvb3Ntb3Nkci9DTWFrZUxpc3RzLnR4dAorQEAg LTEsNiArMSw3IEBACistIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKysjIENvcHlyaWdodCAyMDExLDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIyBUaGlzIGZpbGUg d2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJhZGlvIGZy YW1ld29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1vc21vc2RyCisgIworICMgR05V IFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtMjIsMTEgKzIzLDYgQEAKKyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyBpbnN0YWxsKEZJTEVTCisgICAgIGFwaS5oCistICAgIHBpbXBsLmgKKy0gICAgcmFuZ2Vz LmgKKy0gICAgdGltZV9zcGVjLmgKKy0gICAgZGV2aWNlLmgKKyAgICAgc291cmNlLmgKKy0gICAg c2luay5oCistICAgIERFU1RJTkFUSU9OIGluY2x1ZGUvb3Ntb3NkcgorKyAgICBzaW5rLmggREVT VElOQVRJT04gaW5jbHVkZS9vc21vc2RyCisgKQorZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3Ntb3Nk ci9hcGkuaCBiL2luY2x1ZGUvb3Ntb3Nkci9hcGkuaAoraW5kZXggZDNhZGJmMC4uNDNmMmUyOCAx MDA2NDQKKy0tLSBpbmNsdWRlL29zbW9zZHIvYXBpLmgKKysrKyBpbmNsdWRlL29zbW9zZHIvYXBp LmgKK0BAIC0xLDcgKzEsOCBAQAorIC8qCisgICogQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisgICoKKy0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgUmFk aW8KKysgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJv bSB0aGUgR05VIFJhZGlvIGZyYW1ld29yaworKyAqIFRoaXMgZmlsZSBpcyBhIHBhcnQgb2YgZ3It b3Ntb3NkcgorICAqCisgICogR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorZGlmZiAtLWdpdCBh L2luY2x1ZGUvb3Ntb3Nkci9zaW5rLmggYi9pbmNsdWRlL29zbW9zZHIvc2luay5oCitpbmRleCA5 MDY5NzZlLi44NWY0MWUyIDEwMDY0NAorLS0tIGluY2x1ZGUvb3Ntb3Nkci9zaW5rLmgKKysrKyBp bmNsdWRlL29zbW9zZHIvc2luay5oCitAQCAtMSwyMiArMSwyMyBAQAorIC8qIC0qLSBjKysgLSot ICovCisgLyoKKy0gKiBDb3B5cmlnaHQgMjAxMiBEaW1pdHJpIFN0b2xuaWtvdiA8aG9yaXowbkBn bXgubmV0PgorKyAqIENvcHlyaWdodCAyMDE5IGdyLW9zbW9zZHIgYXV0aG9yLgorICAqCistICog R05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKysgKiBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKyAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAqIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAgKiBh bnkgbGF0ZXIgdmVyc2lvbi4KKyAgKgorLSAqIEdOVSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAqIFRoaXMgc29mdHdhcmUgaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor ICAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKyAgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorICAqCisgICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKy0gKiBhbG9uZyB3aXRoIEdOVSBSYWRpbzsgc2VlIHRoZSBm aWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvCisrICogYWxvbmcgd2l0aCB0aGlzIHNvZnR3 YXJlOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8KKyAgKiB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsCisgICogQm9z dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgICovCisrCisgI2lmbmRlZiBJTkNMVURFRF9PU01P U0RSX1NJTktfSAorICNkZWZpbmUgSU5DTFVERURfT1NNT1NEUl9TSU5LX0gKKyAKK0BAIC0yNywz NTIgKzI4LDM1MiBAQAorIAorIG5hbWVzcGFjZSBvc21vc2RyIHsKKyAKKy1jbGFzcyBzaW5rOwor KyAgY2xhc3Mgc2luazsKKyAKKy0vKiEKKy0gKiBcYnJpZWYgVGFrZXMgYSBzdHJlYW0gb2YgY29t cGxleCBzYW1wbGVzLgorLSAqIFxpbmdyb3VwIGJsb2NrCisrICAvKiEKKysgKiBcYnJpZWYgPCtk ZXNjcmlwdGlvbiBvZiBibG9jays+CisrICogXGluZ3JvdXAgb3Ntb3NkcgorICAqCistICogVGhp cyB1c2VzIHRoZSBwcmVmZXJyZWQgdGVjaG5pcXVlOiBzdWJjbGFzc2luZyBncjo6aGllcl9ibG9j azIuCisgICovCisgY2xhc3MgT1NNT1NEUl9BUEkgc2luayA6IHZpcnR1YWwgcHVibGljIGdyOjpo aWVyX2Jsb2NrMgorIHsKKy1wdWJsaWM6CistICB0eXBlZGVmIGJvb3N0OjpzaGFyZWRfcHRyPCBz aW5rID4gc3B0cjsKKy0KKy0gIC8qIQorLSAgICogXGJyaWVmIFJldHVybiBhIHNoYXJlZF9wdHIg dG8gYSBuZXcgaW5zdGFuY2Ugb2Ygc2luay4KKy0gICAqCistICAgKiBUbyBhdm9pZCBhY2NpZGVu dGFsIHVzZSBvZiByYXcgcG9pbnRlcnMsIHNpbmsncworLSAgICogY29uc3RydWN0b3IgaXMgcHJp dmF0ZS4gIG9zbW9zZHI6OnNpbms6Om1ha2UgaXMgdGhlIHB1YmxpYworLSAgICogaW50ZXJmYWNl IGZvciBjcmVhdGluZyBuZXcgaW5zdGFuY2VzLgorLSAgICoKKy0gICAqIFxwYXJhbSBhcmdzIHRo ZSBhZGRyZXNzIHRvIGlkZW50aWZ5IHRoZSBoYXJkd2FyZQorLSAgICogXHJldHVybiBhIG5ldyBv c21vc2RyIHNpbmsgYmxvY2sgb2JqZWN0CistICAgKi8KKy0gIHN0YXRpYyBzcHRyIG1ha2UoIGNv bnN0IHN0ZDo6c3RyaW5nICYgYXJncyA9ICIiICk7CistCistICAvKiEKKy0gICAqIEdldCB0aGUg bnVtYmVyIG9mIGNoYW5uZWxzIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlIG9mZmVycy4K Ky0gICAqIFxyZXR1cm4gdGhlIG51bWJlciBvZiBhdmFpbGFibGUgY2hhbm5lbHMKKy0gICAqLwor LSAgdmlydHVhbCBzaXplX3QgZ2V0X251bV9jaGFubmVscyggdm9pZCApID0gMDsKKy0KKy0gIC8q IQorLSAgICogR2V0IHRoZSBwb3NzaWJsZSBzYW1wbGUgcmF0ZXMgZm9yIHRoZSB1bmRlcmx5aW5n IHJhZGlvIGhhcmR3YXJlLgorLSAgICogXHJldHVybiBhIHJhbmdlIG9mIHJhdGVzIGluIFNwcwor LSAgICovCistICB2aXJ0dWFsIG9zbW9zZHI6Om1ldGFfcmFuZ2VfdCBnZXRfc2FtcGxlX3JhdGVz KCB2b2lkICkgPSAwOworLQorLSAgLyohCistICAgKiBTZXQgdGhlIHNhbXBsZSByYXRlIGZvciB0 aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFRoaXMgYWxzbyB3aWxsIHNlbGVj dCB0aGUgYXBwcm9wcmlhdGUgSUYgYmFuZHBhc3MsIGlmIGFwcGxpY2FibGUuCistICAgKiBccGFy YW0gcmF0ZSBhIG5ldyByYXRlIGluIFNwcworLSAgICovCistICB2aXJ0dWFsIGRvdWJsZSBzZXRf c2FtcGxlX3JhdGUoIGRvdWJsZSByYXRlICkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQgdGhl IHNhbXBsZSByYXRlIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFRo aXMgaXMgdGhlIGFjdHVhbCBzYW1wbGUgcmF0ZSBhbmQgbWF5IGRpZmZlciBmcm9tIHRoZSByYXRl IHNldC4KKy0gICAqIFxyZXR1cm4gdGhlIGFjdHVhbCByYXRlIGluIFNwcworLSAgICovCistICB2 aXJ0dWFsIGRvdWJsZSBnZXRfc2FtcGxlX3JhdGUoIHZvaWQgKSA9IDA7CistCistICAvKiEKKy0g ICAqIEdldCB0aGUgdHVuYWJsZSBmcmVxdWVuY3kgcmFuZ2UgZm9yIHRoZSB1bmRlcmx5aW5nIHJh ZGlvIGhhcmR3YXJlLgorLSAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBO LTEKKy0gICAqIFxyZXR1cm4gdGhlIGZyZXF1ZW5jeSByYW5nZSBpbiBIegorLSAgICovCistICB2 aXJ0dWFsIG9zbW9zZHI6OmZyZXFfcmFuZ2VfdCBnZXRfZnJlcV9yYW5nZSggc2l6ZV90IGNoYW4g PSAwICkgPSAwOworLQorLSAgLyohCistICAgKiBUdW5lIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhh cmR3YXJlIHRvIHRoZSBkZXNpcmVkIGNlbnRlciBmcmVxdWVuY3kuCistICAgKiBUaGlzIGFsc28g d2lsbCBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIFJGIGJhbmRwYXNzLgorLSAgICogXHBhcmFtIGZy ZXEgdGhlIGRlc2lyZWQgZnJlcXVlbmN5IGluIEh6CistICAgKiBccGFyYW0gY2hhbiB0aGUgY2hh bm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUgYWN0dWFsIGZyZXF1ZW5jeSBp biBIegorLSAgICovCistICB2aXJ0dWFsIGRvdWJsZSBzZXRfY2VudGVyX2ZyZXEoIGRvdWJsZSBm cmVxLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAvKiEKKy0gICAqIEdldCB0aGUgY2Vu dGVyIGZyZXF1ZW5jeSB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZSBpcyB0dW5lZCB0by4K Ky0gICAqIFRoaXMgaXMgdGhlIGFjdHVhbCBmcmVxdWVuY3kgYW5kIG1heSBkaWZmZXIgZnJvbSB0 aGUgZnJlcXVlbmN5IHNldC4KKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAg dG8gTi0xCistICAgKiBccmV0dXJuIHRoZSBmcmVxdWVuY3kgaW4gSHoKKy0gICAqLworLSAgdmly dHVhbCBkb3VibGUgZ2V0X2NlbnRlcl9mcmVxKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCist ICAvKiEKKy0gICAqIFNldCB0aGUgZnJlcXVlbmN5IGNvcnJlY3Rpb24gdmFsdWUgaW4gcGFydHMg cGVyIG1pbGxpb24uCistICAgKiBccGFyYW0gcHBtIHRoZSBkZXNpcmVkIGNvcnJlY3Rpb24gdmFs dWUgaW4gcGFydHMgcGVyIG1pbGxpb24KKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGlu ZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIGNvcnJlY3Rpb24gdmFsdWUgaW4gcGFydHMgcGVy IG1pbGxpb24KKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgc2V0X2ZyZXFfY29yciggZG91Ymxl IHBwbSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQgdGhlIGZy ZXF1ZW5jeSBjb3JyZWN0aW9uIHZhbHVlLgorLSAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwg aW5kZXggMCB0byBOLTEKKy0gICAqIFxyZXR1cm4gY29ycmVjdGlvbiB2YWx1ZSBpbiBwYXJ0cyBw ZXIgbWlsbGlvbgorLSAgICovCistICB2aXJ0dWFsIGRvdWJsZSBnZXRfZnJlcV9jb3JyKCBzaXpl X3QgY2hhbiA9IDAgKSA9IDA7CistCistICAvKiEKKy0gICAqIEdldCB0aGUgZ2FpbiBzdGFnZSBu YW1lcyBvZiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFxwYXJhbSBjaGFu IHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIGEgdmVjdG9yIG9mIHN0 cmluZ3MgY29udGFpbmluZyB0aGUgbmFtZXMgb2YgZ2FpbiBzdGFnZXMKKy0gICAqLworLSAgdmly dHVhbCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gZ2V0X2dhaW5fbmFtZXMoIHNpemVfdCBjaGFu ID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogR2V0IHRoZSBzZXR0YWJsZSBvdmVyYWxsIGdh aW4gcmFuZ2UgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorLSAgICogXHBhcmFt IGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAqIFxyZXR1cm4gdGhlIGdhaW4g cmFuZ2UgaW4gZEIKKy0gICAqLworLSAgdmlydHVhbCBvc21vc2RyOjpnYWluX3JhbmdlX3QgZ2V0 X2dhaW5fcmFuZ2UoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogR2V0 IHRoZSBzZXR0YWJsZSBnYWluIHJhbmdlIGZvciBhIHNwZWNpZmljIGdhaW4gc3RhZ2UuCistICAg KiBccGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZ2FpbiBzdGFnZQorLSAgICogXHBhcmFtIGNo YW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAqIFxyZXR1cm4gdGhlIGdhaW4gcmFu Z2UgaW4gZEIKKy0gICAqLworLSAgdmlydHVhbCBvc21vc2RyOjpnYWluX3JhbmdlX3QgZ2V0X2dh aW5fcmFuZ2UoIGNvbnN0IHN0ZDo6c3RyaW5nICYgbmFtZSwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCist ICAvKiEKKy0gICAqIFNldCB0aGUgZ2FpbiBtb2RlIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBo YXJkd2FyZS4KKy0gICAqIFRoaXMgbWlnaHQgYmUgc3VwcG9ydGVkIG9ubHkgZm9yIGNlcnRhaW4g aGFyZHdhcmUgdHlwZXMuCistICAgKiBccGFyYW0gYXV0b21hdGljIHRoZSBnYWluIG1vZGUgKHRy dWUgbWVhbnMgYXV0b21hdGljIGdhaW4gbW9kZSkKKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFu bmVsIGluZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBtb2RlCist ICAgKi8KKy0gIHZpcnR1YWwgYm9vbCBzZXRfZ2Fpbl9tb2RlKCBib29sIGF1dG9tYXRpYywgc2l6 ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQgdGhlIGdhaW4gbW9kZSBz ZWxlY3RlZCBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAgKiBccGFyYW0g Y2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUgYWN0dWFs IGdhaW4gbW9kZSAodHJ1ZSBtZWFucyBhdXRvbWF0aWMgZ2FpbiBtb2RlKQorLSAgICovCistICB2 aXJ0dWFsIGJvb2wgZ2V0X2dhaW5fbW9kZSggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAg LyohCistICAgKiBTZXQgdGhlIGdhaW4gZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJl LgorLSAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgZGlzdHJpYnV0ZSB0aGUg ZGVzaXJlZCBnYWluIHZhbHVlIG92ZXIKKy0gICAqIGF2YWlsYWJsZSBnYWluIHN0YWdlcyBpbiBh biBhcHByb3ByaWF0ZSB3YXkgYW5kIHJldHVybiB0aGUgYWN0dWFsIHZhbHVlLgorLSAgICogXHBh cmFtIGdhaW4gdGhlIGdhaW4gaW4gZEIKKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGlu ZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorLSAgICov CistICB2aXJ0dWFsIGRvdWJsZSBzZXRfZ2FpbiggZG91YmxlIGdhaW4sIHNpemVfdCBjaGFuID0g MCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogU2V0IHRoZSBuYW1lZCBnYWluIG9uIHRoZSB1bmRl cmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorLSAgICogXHBhcmFtIGdhaW4gdGhlIGdhaW4gaW4gZEIK Ky0gICAqIFxwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBnYWluIHN0YWdlCistICAgKiBccGFy YW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUgYWN0 dWFsIGdhaW4gaW4gZEIKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgc2V0X2dhaW4oIGRvdWJs ZSBnYWluLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICYg bmFtZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY2hhbiA9IDAgKSA9IDA7 CistCistICAvKiEKKy0gICAqIEdldCB0aGUgYWN0dWFsIGdhaW4gc2V0dGluZyBvZiB0aGUgdW5k ZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGlu ZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorLSAgICov CistICB2aXJ0dWFsIGRvdWJsZSBnZXRfZ2Fpbiggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQor LSAgLyohCistICAgKiBHZXQgdGhlIGFjdHVhbCBnYWluIHNldHRpbmcgb2YgYSBuYW1lZCBzdGFn ZS4KKy0gICAqIFxwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBnYWluIHN0YWdlCistICAgKiBc cGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUg YWN0dWFsIGdhaW4gaW4gZEIKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgZ2V0X2dhaW4oIGNv bnN0IHN0ZDo6c3RyaW5nICYgbmFtZSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyoh CistICAgKiBTZXQgdGhlIElGIGdhaW4gZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJl LgorLSAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgZGlzdHJpYnV0ZSB0aGUg ZGVzaXJlZCBnYWluIHZhbHVlIG92ZXIKKy0gICAqIGF2YWlsYWJsZSBJRiBnYWluIHN0YWdlcyBp biBhbiBhcHByb3ByaWF0ZSB3YXkgYW5kIHJldHVybiB0aGUgYWN0dWFsIHZhbHVlLgorLSAgICog XHBhcmFtIGdhaW4gdGhlIGdhaW4gaW4gZEIKKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVs IGluZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorLSAg ICovCistICB2aXJ0dWFsIGRvdWJsZSBzZXRfaWZfZ2FpbiggZG91YmxlIGdhaW4sIHNpemVfdCBj aGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogU2V0IHRoZSBCQiBnYWluIGZvciB0aGUg dW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRv bWF0aWNhbGx5IGRpc3RyaWJ1dGUgdGhlIGRlc2lyZWQgZ2FpbiB2YWx1ZSBvdmVyCistICAgKiBh dmFpbGFibGUgQkIgZ2FpbiBzdGFnZXMgaW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCByZXR1cm4g dGhlIGFjdHVhbCB2YWx1ZS4KKy0gICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCistICAg KiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0 aGUgYWN0dWFsIGdhaW4gaW4gZEIKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgc2V0X2JiX2dh aW4oIGRvdWJsZSBnYWluLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAvKiEKKy0gICAq IEdldCB0aGUgYXZhaWxhYmxlIGFudGVubmFzIG9mIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3 YXJlLgorLSAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAq IFxyZXR1cm4gYSB2ZWN0b3Igb2Ygc3RyaW5ncyBjb250YWluaW5nIHRoZSBuYW1lcyBvZiBhdmFp bGFibGUgYW50ZW5uYXMKKy0gICAqLworLSAgdmlydHVhbCBzdGQ6OnZlY3Rvcjwgc3RkOjpzdHJp bmcgPiBnZXRfYW50ZW5uYXMoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAg ICogU2VsZWN0IHRoZSBhY3RpdmUgYW50ZW5uYSBvZiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJk d2FyZS4KKy0gICAqIFxwYXJhbSBhbnRlbm5hIG5hbWUgb2YgdGhlIGFudGVubmEgdG8gYmUgc2Vs ZWN0ZWQKKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAg KiBccmV0dXJuIHRoZSBhY3R1YWwgYW50ZW5uYSdzIG5hbWUKKy0gICAqLworLSAgdmlydHVhbCBz dGQ6OnN0cmluZyBzZXRfYW50ZW5uYSggY29uc3Qgc3RkOjpzdHJpbmcgJiBhbnRlbm5hLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNoYW4gPSAwICkgPSAwOwor LQorLSAgLyohCistICAgKiBHZXQgdGhlIGFjdHVhbCB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJl IGFudGVubmEgc2V0dGluZy4KKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAg dG8gTi0xCistICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgYW50ZW5uYSdzIG5hbWUKKy0gICAqLwor LSAgdmlydHVhbCBzdGQ6OnN0cmluZyBnZXRfYW50ZW5uYSggc2l6ZV90IGNoYW4gPSAwICkgPSAw OworLQorLSAgLyohCistICAgKiBTZXQgdGhlIFRYIGZyb250ZW5kIERDIG9mZnNldCB2YWx1ZS4K Ky0gICAqIFRoZSB2YWx1ZSBpcyBjb21wbGV4IHRvIGNvbnRyb2wgYm90aCBJIGFuZCBRLgorLSAg ICoKKy0gICAqIFxwYXJhbSBvZmZzZXQgdGhlIGRjIG9mZnNldCAoMS4wIGlzIGZ1bGwtc2NhbGUp CistICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICovCist ICB2aXJ0dWFsIHZvaWQgc2V0X2RjX29mZnNldCggY29uc3Qgc3RkOjpjb21wbGV4PGRvdWJsZT4g Jm9mZnNldCwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyohCistICAgKiBTZXQgdGhl IFRYIGZyb250ZW5kIElRIGJhbGFuY2UgY29ycmVjdGlvbi4KKy0gICAqIFVzZSB0aGlzIHRvIGFk anVzdCB0aGUgbWFnbml0dWRlIGFuZCBwaGFzZSBvZiBJIGFuZCBRLgorLSAgICoKKy0gICAqIFxw YXJhbSBiYWxhbmNlIHRoZSBjb21wbGV4IGNvcnJlY3Rpb24gdmFsdWUKKy0gICAqIFxwYXJhbSBj aGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgKi8KKy0gIHZpcnR1YWwgdm9pZCBz ZXRfaXFfYmFsYW5jZSggY29uc3Qgc3RkOjpjb21wbGV4PGRvdWJsZT4gJmJhbGFuY2UsIHNpemVf dCBjaGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogU2V0IHRoZSBiYW5kcGFzcyBmaWx0 ZXIgb24gdGhlIHJhZGlvIGZyb250ZW5kLgorLSAgICogXHBhcmFtIGJhbmR3aWR0aCB0aGUgZmls dGVyIGJhbmR3aWR0aCBpbiBIeiwgc2V0IHRvIDAgZm9yIGF1dG9tYXRpYyBzZWxlY3Rpb24KKy0g ICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJu IHRoZSBhY3R1YWwgZmlsdGVyIGJhbmR3aWR0aCBpbiBIegorLSAgICovCistICB2aXJ0dWFsIGRv dWJsZSBzZXRfYmFuZHdpZHRoKCBkb3VibGUgYmFuZHdpZHRoLCBzaXplX3QgY2hhbiA9IDAgKSA9 IDA7CistCistICAvKiEKKy0gICAqIEdldCB0aGUgYWN0dWFsIGJhbmRwYXNzIGZpbHRlciBzZXR0 aW5nIG9uIHRoZSByYWRpbyBmcm9udGVuZC4KKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVs IGluZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZmlsdGVyIGJhbmR3aWR0 aCBpbiBIegorLSAgICovCistICB2aXJ0dWFsIGRvdWJsZSBnZXRfYmFuZHdpZHRoKCBzaXplX3Qg Y2hhbiA9IDAgKSA9IDA7CistCistICAvKiEKKy0gICAqIEdldCB0aGUgcG9zc2libGUgYmFuZHBh c3MgZmlsdGVyIHNldHRpbmdzIG9uIHRoZSByYWRpbyBmcm9udGVuZC4KKy0gICAqIFxwYXJhbSBj aGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIGEgcmFuZ2Ugb2Yg YmFuZHdpZHRocyBpbiBIegorLSAgICovCistICB2aXJ0dWFsIG9zbW9zZHI6OmZyZXFfcmFuZ2Vf dCBnZXRfYmFuZHdpZHRoX3JhbmdlKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAvKiEK Ky0gICAqIFNldCB0aGUgdGltZSBzb3VyY2UgZm9yIHRoZSBkZXZpY2UuCistICAgKiBUaGlzIHNl dHMgdGhlIG1ldGhvZCBvZiB0aW1lIHN5bmNocm9uaXphdGlvbiwKKy0gICAqIHR5cGljYWxseSBh IHB1bHNlIHBlciBzZWNvbmQgb3IgYW4gZW5jb2RlZCB0aW1lLgorLSAgICogVHlwaWNhbCBvcHRp b25zIGZvciBzb3VyY2U6IGV4dGVybmFsLCBNSU1PLgorLSAgICogXHBhcmFtIHNvdXJjZSBhIHN0 cmluZyByZXByZXNlbnRpbmcgdGhlIHRpbWUgc291cmNlCistICAgKiBccGFyYW0gbWJvYXJkIHdo aWNoIG1vdGhlcmJvYXJkIHRvIHNldCB0aGUgY29uZmlnCistICAgKi8KKy0gIHZpcnR1YWwgdm9p ZCBzZXRfdGltZV9zb3VyY2UoY29uc3Qgc3RkOjpzdHJpbmcgJnNvdXJjZSwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKy0KKy0g IC8qIQorLSAgICogR2V0IHRoZSBjdXJyZW50bHkgc2V0IHRpbWUgc291cmNlLgorLSAgICogXHBh cmFtIG1ib2FyZCB3aGljaCBtb3RoZXJib2FyZCB0byBnZXQgdGhlIGNvbmZpZworLSAgICogXHJl dHVybiB0aGUgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgdGltZSBzb3VyY2UKKy0gICAqLworLSAg dmlydHVhbCBzdGQ6OnN0cmluZyBnZXRfdGltZV9zb3VyY2UoY29uc3Qgc2l6ZV90IG1ib2FyZCkg PSAwOworLQorLSAgLyohCistICAgKiBHZXQgYSBsaXN0IG9mIHBvc3NpYmxlIHRpbWUgc291cmNl cy4KKy0gICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBsaXN0 CistICAgKiBccmV0dXJuIGEgdmVjdG9yIG9mIHN0cmluZ3MgZm9yIHBvc3NpYmxlIHNldHRpbmdz CistICAgKi8KKy0gIHZpcnR1YWwgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGdldF90aW1lX3Nv dXJjZXMoY29uc3Qgc2l6ZV90IG1ib2FyZCkgPSAwOworLQorLSAgLyohCistICAgKiBTZXQgdGhl IGNsb2NrIHNvdXJjZSBmb3IgdGhlIGRldmljZS4KKy0gICAqIFRoaXMgc2V0cyB0aGUgc291cmNl IGZvciBhIDEwIE1oeiByZWZlcmVuY2UgY2xvY2suCistICAgKiBUeXBpY2FsIG9wdGlvbnMgZm9y IHNvdXJjZTogaW50ZXJuYWwsIGV4dGVybmFsLCBNSU1PLgorLSAgICogXHBhcmFtIHNvdXJjZSBh IHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGNsb2NrIHNvdXJjZQorLSAgICogXHBhcmFtIG1ib2Fy ZCB3aGljaCBtb3RoZXJib2FyZCB0byBzZXQgdGhlIGNvbmZpZworLSAgICovCistICB2aXJ0dWFs IHZvaWQgc2V0X2Nsb2NrX3NvdXJjZShjb25zdCBzdGQ6OnN0cmluZyAmc291cmNlLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90IG1ib2FyZCA9IDApID0gMDsK Ky0KKy0gIC8qIQorLSAgICogR2V0IHRoZSBjdXJyZW50bHkgc2V0IGNsb2NrIHNvdXJjZS4KKy0g ICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBjb25maWcKKy0g ICAqIFxyZXR1cm4gdGhlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGNsb2NrIHNvdXJjZQorLSAg ICovCistICB2aXJ0dWFsIHN0ZDo6c3RyaW5nIGdldF9jbG9ja19zb3VyY2UoY29uc3Qgc2l6ZV90 IG1ib2FyZCkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQgYSBsaXN0IG9mIHBvc3NpYmxlIGNs b2NrIHNvdXJjZXMuCistICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJkIHRvIGdl dCB0aGUgbGlzdAorLSAgICogXHJldHVybiBhIHZlY3RvciBvZiBzdHJpbmdzIGZvciBwb3NzaWJs ZSBzZXR0aW5ncworLSAgICovCistICB2aXJ0dWFsIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBn ZXRfY2xvY2tfc291cmNlcyhjb25zdCBzaXplX3QgbWJvYXJkKSA9IDA7CistCistICAvKiEKKy0g ICAqIEdldCB0aGUgbWFzdGVyIGNsb2NrIHJhdGUuCistICAgKiBccGFyYW0gbWJvYXJkIHRoZSBt b3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQorLSAgICogXHJldHVybiB0aGUgY2xvY2sgcmF0ZSBp biBIegorLSAgICovCistICB2aXJ0dWFsIGRvdWJsZSBnZXRfY2xvY2tfcmF0ZShzaXplX3QgbWJv YXJkID0gMCkgPSAwOworLQorLSAgLyohCistICAgKiBTZXQgdGhlIG1hc3RlciBjbG9jayByYXRl LgorLSAgICogXHBhcmFtIHJhdGUgdGhlIG5ldyByYXRlIGluIEh6CistICAgKiBccGFyYW0gbWJv YXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQorLSAgICovCistICB2aXJ0dWFsIHZv aWQgc2V0X2Nsb2NrX3JhdGUoZG91YmxlIHJhdGUsIHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7Cist CistICAvKiEKKy0gICAqIEdldCB0aGUgY3VycmVudCB0aW1lIHJlZ2lzdGVycy4KKy0gICAqIFxw YXJhbSBtYm9hcmQgdGhlIG1vdGhlcmJvYXJkIGluZGV4IDAgdG8gTS0xCistICAgKiBccmV0dXJu IHRoZSBjdXJyZW50IGRldmljZSB0aW1lCistICAgKi8KKy0gIHZpcnR1YWwgOjpvc21vc2RyOjp0 aW1lX3NwZWNfdCBnZXRfdGltZV9ub3coc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKy0KKy0gIC8q IQorLSAgICogR2V0IHRoZSB0aW1lIHdoZW4gdGhlIGxhc3QgcHBzIHB1bHNlIG9jY3VyZWQuCist ICAgKiBccGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQorLSAgICog XHJldHVybiB0aGUgY3VycmVudCBkZXZpY2UgdGltZQorLSAgICovCistICB2aXJ0dWFsIDo6b3Nt b3Nkcjo6dGltZV9zcGVjX3QgZ2V0X3RpbWVfbGFzdF9wcHMoc2l6ZV90IG1ib2FyZCA9IDApID0g MDsKKy0KKy0gIC8qIQorLSAgICogU2V0cyB0aGUgdGltZSByZWdpc3RlcnMgaW1tZWRpYXRlbHku CistICAgKiBccGFyYW0gdGltZV9zcGVjIHRoZSBuZXcgdGltZQorLSAgICogXHBhcmFtIG1ib2Fy ZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKy0gICAqLworLSAgdmlydHVhbCB2b2lk IHNldF90aW1lX25vdyhjb25zdCA6Om9zbW9zZHI6OnRpbWVfc3BlY190ICZ0aW1lX3NwZWMsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7CistCist ICAvKiEKKy0gICAqIFNldCB0aGUgdGltZSByZWdpc3RlcnMgYXQgdGhlIG5leHQgcHBzLgorLSAg ICogXHBhcmFtIHRpbWVfc3BlYyB0aGUgbmV3IHRpbWUKKy0gICAqLworLSAgdmlydHVhbCB2b2lk IHNldF90aW1lX25leHRfcHBzKGNvbnN0IDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgJnRpbWVfc3Bl YykgPSAwOworLQorLSAgLyohCistICAgKiBTeW5jIHRoZSB0aW1lIHJlZ2lzdGVycyB3aXRoIGFu IHVua25vd24gcHBzIGVkZ2UuCistICAgKiBccGFyYW0gdGltZV9zcGVjIHRoZSBuZXcgdGltZQor LSAgICovCistICB2aXJ0dWFsIHZvaWQgc2V0X3RpbWVfdW5rbm93bl9wcHMoY29uc3QgOjpvc21v c2RyOjp0aW1lX3NwZWNfdCAmdGltZV9zcGVjKSA9IDA7CisrIHB1YmxpYzoKKysgIHR5cGVkZWYg Ym9vc3Q6OnNoYXJlZF9wdHI8c2luaz4gc3B0cjsKKysKKysgICAgLyohCisrICAgICAgKiBcYnJp ZWYgUmV0dXJuIGEgc2hhcmVkX3B0ciB0byBhIG5ldyBpbnN0YW5jZSBvZiBzaW5rLgorKyAgICAg ICoKKysgICAgICAqIFRvIGF2b2lkIGFjY2lkZW50YWwgdXNlIG9mIHJhdyBwb2ludGVycywgc2lu aydzCisrICAgICAgKiBjb25zdHJ1Y3RvciBpcyBwcml2YXRlLiAgb3Ntb3Nkcjo6c2luazo6bWFr ZSBpcyB0aGUgcHVibGljCisrICAgICAgKiBpbnRlcmZhY2UgZm9yIGNyZWF0aW5nIG5ldyBpbnN0 YW5jZXMuCisrICAgICAgKgorKyAgICAgICogXHBhcmFtIGFyZ3MgdGhlIGFkZHJlc3MgdG8gaWRl bnRpZnkgdGhlIGhhcmR3YXJlCisrICAgICAgKiBccmV0dXJuIGEgbmV3IG9zbW9zZHIgc2luayBi bG9jayBvYmplY3QKKysgICAgICAqLworKyAgICBzdGF0aWMgc3B0ciBtYWtlKCBjb25zdCBzdGQ6 OnN0cmluZyAmIGFyZ3MgPSAiIiApOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBudW1i ZXIgb2YgY2hhbm5lbHMgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUgb2ZmZXJzLgorKyAg ICAgKiBccmV0dXJuIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIGNoYW5uZWxzCisrICAgICAqLwor KyAgICB2aXJ0dWFsIHNpemVfdCBnZXRfbnVtX2NoYW5uZWxzKCB2b2lkICkgPSAwOworKworKyAg ICAvKiEKKysgICAgICogR2V0IHRoZSBwb3NzaWJsZSBzYW1wbGUgcmF0ZXMgZm9yIHRoZSB1bmRl cmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorKyAgICAgKiBccmV0dXJuIGEgcmFuZ2Ugb2YgcmF0ZXMg aW4gU3BzCisrICAgICAqLworKyAgICB2aXJ0dWFsIG9zbW9zZHI6Om1ldGFfcmFuZ2VfdCBnZXRf c2FtcGxlX3JhdGVzKCB2b2lkICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogU2V0IHRoZSBz YW1wbGUgcmF0ZSBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgICAqIFRo aXMgYWxzbyB3aWxsIHNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgSUYgYmFuZHBhc3MsIGlmIGFwcGxp Y2FibGUuCisrICAgICAqIFxwYXJhbSByYXRlIGEgbmV3IHJhdGUgaW4gU3BzCisrICAgICAqLwor KyAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfc2FtcGxlX3JhdGUoIGRvdWJsZSByYXRlICkgPSAwOwor KworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBzYW1wbGUgcmF0ZSBmb3IgdGhlIHVuZGVybHlp bmcgcmFkaW8gaGFyZHdhcmUuCisrICAgICAqIFRoaXMgaXMgdGhlIGFjdHVhbCBzYW1wbGUgcmF0 ZSBhbmQgbWF5IGRpZmZlciBmcm9tIHRoZSByYXRlIHNldC4KKysgICAgICogXHJldHVybiB0aGUg YWN0dWFsIHJhdGUgaW4gU3BzCisrICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBnZXRfc2Ft cGxlX3JhdGUoIHZvaWQgKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBHZXQgdGhlIHR1bmFi bGUgZnJlcXVlbmN5IHJhbmdlIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysg ICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICogXHJl dHVybiB0aGUgZnJlcXVlbmN5IHJhbmdlIGluIEh6CisrICAgICAqLworKyAgICB2aXJ0dWFsIG9z bW9zZHI6OmZyZXFfcmFuZ2VfdCBnZXRfZnJlcV9yYW5nZSggc2l6ZV90IGNoYW4gPSAwICkgPSAw OworKworKyAgICAvKiEKKysgICAgICogVHVuZSB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2Fy ZSB0byB0aGUgZGVzaXJlZCBjZW50ZXIgZnJlcXVlbmN5LgorKyAgICAgKiBUaGlzIGFsc28gd2ls bCBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIFJGIGJhbmRwYXNzLgorKyAgICAgKiBccGFyYW0gZnJl cSB0aGUgZGVzaXJlZCBmcmVxdWVuY3kgaW4gSHoKKysgICAgICogXHBhcmFtIGNoYW4gdGhlIGNo YW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICogXHJldHVybiB0aGUgYWN0dWFsIGZyZXF1ZW5j eSBpbiBIegorKyAgICAgKi8KKysgICAgdmlydHVhbCBkb3VibGUgc2V0X2NlbnRlcl9mcmVxKCBk b3VibGUgZnJlcSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICog R2V0IHRoZSBjZW50ZXIgZnJlcXVlbmN5IHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlIGlz IHR1bmVkIHRvLgorKyAgICAgKiBUaGlzIGlzIHRoZSBhY3R1YWwgZnJlcXVlbmN5IGFuZCBtYXkg ZGlmZmVyIGZyb20gdGhlIGZyZXF1ZW5jeSBzZXQuCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBj aGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhlIGZyZXF1ZW5jeSBpbiBI egorKyAgICAgKi8KKysgICAgdmlydHVhbCBkb3VibGUgZ2V0X2NlbnRlcl9mcmVxKCBzaXplX3Qg Y2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBTZXQgdGhlIGZyZXF1ZW5jeSBj b3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uLgorKyAgICAgKiBccGFyYW0gcHBt IHRoZSBkZXNpcmVkIGNvcnJlY3Rpb24gdmFsdWUgaW4gcGFydHMgcGVyIG1pbGxpb24KKysgICAg ICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICogXHJldHVy biBjb3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCisrICAgICAqLworKyAgICB2 aXJ0dWFsIGRvdWJsZSBzZXRfZnJlcV9jb3JyKCBkb3VibGUgcHBtLCBzaXplX3QgY2hhbiA9IDAg KSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBHZXQgdGhlIGZyZXF1ZW5jeSBjb3JyZWN0aW9u IHZhbHVlLgorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQor KyAgICAgKiBccmV0dXJuIGNvcnJlY3Rpb24gdmFsdWUgaW4gcGFydHMgcGVyIG1pbGxpb24KKysg ICAgICovCisrICAgIHZpcnR1YWwgZG91YmxlIGdldF9mcmVxX2NvcnIoIHNpemVfdCBjaGFuID0g MCApID0gMDsKKysKKysgICAgLyohCisrICAgICAqIEdldCB0aGUgZ2FpbiBzdGFnZSBuYW1lcyBv ZiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAgICogXHBhcmFtIGNoYW4gdGhl IGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICogXHJldHVybiBhIHZlY3RvciBvZiBzdHJp bmdzIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIGdhaW4gc3RhZ2VzCisrICAgICAqLworKyAgICB2 aXJ0dWFsIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBnZXRfZ2Fpbl9uYW1lcyggc2l6ZV90IGNo YW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBzZXR0YWJsZSBvdmVy YWxsIGdhaW4gcmFuZ2UgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorKyAgICAg KiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICAgKiBccmV0dXJu IHRoZSBnYWluIHJhbmdlIGluIGRCCisrICAgICAqLworKyAgICB2aXJ0dWFsIG9zbW9zZHI6Omdh aW5fcmFuZ2VfdCBnZXRfZ2Fpbl9yYW5nZSggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAg ICAvKiEKKysgICAgICogR2V0IHRoZSBzZXR0YWJsZSBnYWluIHJhbmdlIGZvciBhIHNwZWNpZmlj IGdhaW4gc3RhZ2UuCisrICAgICAqIFxwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBnYWluIHN0 YWdlCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAg ICAqIFxyZXR1cm4gdGhlIGdhaW4gcmFuZ2UgaW4gZEIKKysgICAgICovCisrICAgIHZpcnR1YWwg b3Ntb3Nkcjo6Z2Fpbl9yYW5nZV90IGdldF9nYWluX3JhbmdlKCBjb25zdCBzdGQ6OnN0cmluZyAm IG5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBTZXQgdGhlIGdh aW4gbW9kZSBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgICAqIFRoaXMg bWlnaHQgYmUgc3VwcG9ydGVkIG9ubHkgZm9yIGNlcnRhaW4gaGFyZHdhcmUgdHlwZXMuCisrICAg ICAqIFxwYXJhbSBhdXRvbWF0aWMgdGhlIGdhaW4gbW9kZSAodHJ1ZSBtZWFucyBhdXRvbWF0aWMg Z2FpbiBtb2RlKQorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4t MQorKyAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBtb2RlCisrICAgICAqLworKyAgICB2 aXJ0dWFsIGJvb2wgc2V0X2dhaW5fbW9kZSggYm9vbCBhdXRvbWF0aWMsIHNpemVfdCBjaGFuID0g MCApID0gMDsKKysKKysgICAgLyohCisrICAgICAqIEdldCB0aGUgZ2FpbiBtb2RlIHNlbGVjdGVk IGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAgICogXHBhcmFtIGNoYW4g dGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICogXHJldHVybiB0aGUgYWN0dWFsIGdh aW4gbW9kZSAodHJ1ZSBtZWFucyBhdXRvbWF0aWMgZ2FpbiBtb2RlKQorKyAgICAgKi8KKysgICAg dmlydHVhbCBib29sIGdldF9nYWluX21vZGUoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysg ICAgLyohCisrICAgICAqIFNldCB0aGUgZ2FpbiBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFy ZHdhcmUuCisrICAgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRvbWF0aWNhbGx5IGRpc3RyaWJ1 dGUgdGhlIGRlc2lyZWQgZ2FpbiB2YWx1ZSBvdmVyCisrICAgICAqIGF2YWlsYWJsZSBnYWluIHN0 YWdlcyBpbiBhbiBhcHByb3ByaWF0ZSB3YXkgYW5kIHJldHVybiB0aGUgYWN0dWFsIHZhbHVlLgor KyAgICAgKiBccGFyYW0gZ2FpbiB0aGUgZ2FpbiBpbiBkQgorKyAgICAgKiBccGFyYW0gY2hhbiB0 aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2Fp biBpbiBkQgorKyAgICAgKi8KKysgICAgdmlydHVhbCBkb3VibGUgc2V0X2dhaW4oIGRvdWJsZSBn YWluLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBTZXQgdGhl IG5hbWVkIGdhaW4gb24gdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgICAqIFxw YXJhbSBnYWluIHRoZSBnYWluIGluIGRCCisrICAgICAqIFxwYXJhbSBuYW1lIHRoZSBuYW1lIG9m IHRoZSBnYWluIHN0YWdlCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAg dG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCisrICAgICAqLwor KyAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfZ2FpbiggZG91YmxlIGdhaW4sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyAmIG5hbWUsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8qIQorKyAg ICAgKiBHZXQgdGhlIGFjdHVhbCBnYWluIHNldHRpbmcgb2YgdGhlIHVuZGVybHlpbmcgcmFkaW8g aGFyZHdhcmUuCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0x CisrICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCisrICAgICAqLworKyAgICB2 aXJ0dWFsIGRvdWJsZSBnZXRfZ2Fpbiggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAv KiEKKysgICAgICogR2V0IHRoZSBhY3R1YWwgZ2FpbiBzZXR0aW5nIG9mIGEgbmFtZWQgc3RhZ2Uu CisrICAgICAqIFxwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBnYWluIHN0YWdlCisrICAgICAq IFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4g dGhlIGFjdHVhbCBnYWluIGluIGRCCisrICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBnZXRf Z2FpbiggY29uc3Qgc3RkOjpzdHJpbmcgJiBuYW1lLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7Cisr CisrICAgIC8qIQorKyAgICAgKiBTZXQgdGhlIElGIGdhaW4gZm9yIHRoZSB1bmRlcmx5aW5nIHJh ZGlvIGhhcmR3YXJlLgorKyAgICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYXV0b21hdGljYWxseSBk aXN0cmlidXRlIHRoZSBkZXNpcmVkIGdhaW4gdmFsdWUgb3ZlcgorKyAgICAgKiBhdmFpbGFibGUg SUYgZ2FpbiBzdGFnZXMgaW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCByZXR1cm4gdGhlIGFjdHVh bCB2YWx1ZS4KKysgICAgICogXHBhcmFtIGdhaW4gdGhlIGdhaW4gaW4gZEIKKysgICAgICogXHBh cmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICogXHJldHVybiB0aGUg YWN0dWFsIGdhaW4gaW4gZEIKKysgICAgICovCisrICAgIHZpcnR1YWwgZG91YmxlIHNldF9pZl9n YWluKCBkb3VibGUgZ2Fpbiwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysg ICAgICogU2V0IHRoZSBCQiBnYWluIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4K KysgICAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgZGlzdHJpYnV0ZSB0aGUg ZGVzaXJlZCBnYWluIHZhbHVlIG92ZXIKKysgICAgICogYXZhaWxhYmxlIEJCIGdhaW4gc3RhZ2Vz IGluIGFuIGFwcHJvcHJpYXRlIHdheSBhbmQgcmV0dXJuIHRoZSBhY3R1YWwgdmFsdWUuCisrICAg ICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBj aGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGlu IGRCCisrICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfYmJfZ2FpbiggZG91YmxlIGdh aW4sIHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgICAgLyohCisrICAgICAqIEdldCB0aGUg YXZhaWxhYmxlIGFudGVubmFzIG9mIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorKyAg ICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICAgKiBccmV0 dXJuIGEgdmVjdG9yIG9mIHN0cmluZ3MgY29udGFpbmluZyB0aGUgbmFtZXMgb2YgYXZhaWxhYmxl IGFudGVubmFzCisrICAgICAqLworKyAgICB2aXJ0dWFsIHN0ZDo6dmVjdG9yPCBzdGQ6OnN0cmlu ZyA+IGdldF9hbnRlbm5hcyggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysg ICAgICogU2VsZWN0IHRoZSBhY3RpdmUgYW50ZW5uYSBvZiB0aGUgdW5kZXJseWluZyByYWRpbyBo YXJkd2FyZS4KKysgICAgICogXHBhcmFtIGFudGVubmEgbmFtZSBvZiB0aGUgYW50ZW5uYSB0byBi ZSBzZWxlY3RlZAorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4t MQorKyAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgYW50ZW5uYSdzIG5hbWUKKysgICAgICovCisr ICAgIHZpcnR1YWwgc3RkOjpzdHJpbmcgc2V0X2FudGVubmEoIGNvbnN0IHN0ZDo6c3RyaW5nICYg YW50ZW5uYSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNo YW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBhY3R1YWwgdW5kZXJs eWluZyByYWRpbyBoYXJkd2FyZSBhbnRlbm5hIHNldHRpbmcuCisrICAgICAqIFxwYXJhbSBjaGFu IHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBh bnRlbm5hJ3MgbmFtZQorKyAgICAgKi8KKysgICAgdmlydHVhbCBzdGQ6OnN0cmluZyBnZXRfYW50 ZW5uYSggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogU2V0IHRo ZSBUWCBmcm9udGVuZCBEQyBvZmZzZXQgdmFsdWUuCisrICAgICAqIFRoZSB2YWx1ZSBpcyBjb21w bGV4IHRvIGNvbnRyb2wgYm90aCBJIGFuZCBRLgorKyAgICAgKgorKyAgICAgKiBccGFyYW0gb2Zm c2V0IHRoZSBkYyBvZmZzZXQgKDEuMCBpcyBmdWxsLXNjYWxlKQorKyAgICAgKiBccGFyYW0gY2hh biB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICAgKi8KKysgICAgdmlydHVhbCB2b2lk IHNldF9kY19vZmZzZXQoIGNvbnN0IHN0ZDo6Y29tcGxleDxkb3VibGU+ICZvZmZzZXQsIHNpemVf dCBjaGFuID0gMCApID0gMDsKKysKKysgICAgLyohCisrICAgICAqIFNldCB0aGUgVFggZnJvbnRl bmQgSVEgYmFsYW5jZSBjb3JyZWN0aW9uLgorKyAgICAgKiBVc2UgdGhpcyB0byBhZGp1c3QgdGhl IG1hZ25pdHVkZSBhbmQgcGhhc2Ugb2YgSSBhbmQgUS4KKysgICAgICoKKysgICAgICogXHBhcmFt IGJhbGFuY2UgdGhlIGNvbXBsZXggY29ycmVjdGlvbiB2YWx1ZQorKyAgICAgKiBccGFyYW0gY2hh biB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICAgKi8KKysgICAgdmlydHVhbCB2b2lk IHNldF9pcV9iYWxhbmNlKCBjb25zdCBzdGQ6OmNvbXBsZXg8ZG91YmxlPiAmYmFsYW5jZSwgc2l6 ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogU2V0IHRoZSBiYW5kcGFz cyBmaWx0ZXIgb24gdGhlIHJhZGlvIGZyb250ZW5kLgorKyAgICAgKiBccGFyYW0gYmFuZHdpZHRo IHRoZSBmaWx0ZXIgYmFuZHdpZHRoIGluIEh6LCBzZXQgdG8gMCBmb3IgYXV0b21hdGljIHNlbGVj dGlvbgorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAg ICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZmlsdGVyIGJhbmR3aWR0aCBpbiBIegorKyAgICAgKi8K KysgICAgdmlydHVhbCBkb3VibGUgc2V0X2JhbmR3aWR0aCggZG91YmxlIGJhbmR3aWR0aCwgc2l6 ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBhY3R1YWwg YmFuZHBhc3MgZmlsdGVyIHNldHRpbmcgb24gdGhlIHJhZGlvIGZyb250ZW5kLgorKyAgICAgKiBc cGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICAgKiBccmV0dXJuIHRo ZSBhY3R1YWwgZmlsdGVyIGJhbmR3aWR0aCBpbiBIegorKyAgICAgKi8KKysgICAgdmlydHVhbCBk b3VibGUgZ2V0X2JhbmR3aWR0aCggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEK KysgICAgICogR2V0IHRoZSBwb3NzaWJsZSBiYW5kcGFzcyBmaWx0ZXIgc2V0dGluZ3Mgb24gdGhl IHJhZGlvIGZyb250ZW5kLgorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAw IHRvIE4tMQorKyAgICAgKiBccmV0dXJuIGEgcmFuZ2Ugb2YgYmFuZHdpZHRocyBpbiBIegorKyAg ICAgKi8KKysgICAgdmlydHVhbCBvc21vc2RyOjpmcmVxX3JhbmdlX3QgZ2V0X2JhbmR3aWR0aF9y YW5nZSggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogU2V0IHRo ZSB0aW1lIHNvdXJjZSBmb3IgdGhlIGRldmljZS4KKysgICAgICogVGhpcyBzZXRzIHRoZSBtZXRo b2Qgb2YgdGltZSBzeW5jaHJvbml6YXRpb24sCisrICAgICAqIHR5cGljYWxseSBhIHB1bHNlIHBl ciBzZWNvbmQgb3IgYW4gZW5jb2RlZCB0aW1lLgorKyAgICAgKiBUeXBpY2FsIG9wdGlvbnMgZm9y IHNvdXJjZTogZXh0ZXJuYWwsIE1JTU8uCisrICAgICAqIFxwYXJhbSBzb3VyY2UgYSBzdHJpbmcg cmVwcmVzZW50aW5nIHRoZSB0aW1lIHNvdXJjZQorKyAgICAgKiBccGFyYW0gbWJvYXJkIHdoaWNo IG1vdGhlcmJvYXJkIHRvIHNldCB0aGUgY29uZmlnCisrICAgICAqLworKyAgICB2aXJ0dWFsIHZv aWQgc2V0X3RpbWVfc291cmNlKGNvbnN0IHN0ZDo6c3RyaW5nICZzb3VyY2UsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKysK KysgICAgLyohCisrICAgICAqIEdldCB0aGUgY3VycmVudGx5IHNldCB0aW1lIHNvdXJjZS4KKysg ICAgICogXHBhcmFtIG1ib2FyZCB3aGljaCBtb3RoZXJib2FyZCB0byBnZXQgdGhlIGNvbmZpZwor KyAgICAgKiBccmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0aW1lIHNvdXJjZQor KyAgICAgKi8KKysgICAgdmlydHVhbCBzdGQ6OnN0cmluZyBnZXRfdGltZV9zb3VyY2UoY29uc3Qg c2l6ZV90IG1ib2FyZCkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IGEgbGlzdCBvZiBw b3NzaWJsZSB0aW1lIHNvdXJjZXMuCisrICAgICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVy Ym9hcmQgdG8gZ2V0IHRoZSBsaXN0CisrICAgICAqIFxyZXR1cm4gYSB2ZWN0b3Igb2Ygc3RyaW5n cyBmb3IgcG9zc2libGUgc2V0dGluZ3MKKysgICAgICovCisrICAgIHZpcnR1YWwgc3RkOjp2ZWN0 b3I8c3RkOjpzdHJpbmc+IGdldF90aW1lX3NvdXJjZXMoY29uc3Qgc2l6ZV90IG1ib2FyZCkgPSAw OworKworKyAgICAvKiEKKysgICAgICogU2V0IHRoZSBjbG9jayBzb3VyY2UgZm9yIHRoZSBkZXZp Y2UuCisrICAgICAqIFRoaXMgc2V0cyB0aGUgc291cmNlIGZvciBhIDEwIE1oeiByZWZlcmVuY2Ug Y2xvY2suCisrICAgICAqIFR5cGljYWwgb3B0aW9ucyBmb3Igc291cmNlOiBpbnRlcm5hbCwgZXh0 ZXJuYWwsIE1JTU8uCisrICAgICAqIFxwYXJhbSBzb3VyY2UgYSBzdHJpbmcgcmVwcmVzZW50aW5n IHRoZSBjbG9jayBzb3VyY2UKKysgICAgICogXHBhcmFtIG1ib2FyZCB3aGljaCBtb3RoZXJib2Fy ZCB0byBzZXQgdGhlIGNvbmZpZworKyAgICAgKi8KKysgICAgdmlydHVhbCB2b2lkIHNldF9jbG9j a19zb3VyY2UoY29uc3Qgc3RkOjpzdHJpbmcgJnNvdXJjZSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKysKKysgICAgLyoh CisrICAgICAqIEdldCB0aGUgY3VycmVudGx5IHNldCBjbG9jayBzb3VyY2UuCisrICAgICAqIFxw YXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBjb25maWcKKysgICAgICog XHJldHVybiB0aGUgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY2xvY2sgc291cmNlCisrICAgICAq LworKyAgICB2aXJ0dWFsIHN0ZDo6c3RyaW5nIGdldF9jbG9ja19zb3VyY2UoY29uc3Qgc2l6ZV90 IG1ib2FyZCkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IGEgbGlzdCBvZiBwb3NzaWJs ZSBjbG9jayBzb3VyY2VzLgorKyAgICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJk IHRvIGdldCB0aGUgbGlzdAorKyAgICAgKiBccmV0dXJuIGEgdmVjdG9yIG9mIHN0cmluZ3MgZm9y IHBvc3NpYmxlIHNldHRpbmdzCisrICAgICAqLworKyAgICB2aXJ0dWFsIHN0ZDo6dmVjdG9yPHN0 ZDo6c3RyaW5nPiBnZXRfY2xvY2tfc291cmNlcyhjb25zdCBzaXplX3QgbWJvYXJkKSA9IDA7Cisr CisrICAgIC8qIQorKyAgICAgKiBHZXQgdGhlIG1hc3RlciBjbG9jayByYXRlLgorKyAgICAgKiBc cGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQorKyAgICAgKiBccmV0 dXJuIHRoZSBjbG9jayByYXRlIGluIEh6CisrICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBn ZXRfY2xvY2tfcmF0ZShzaXplX3QgbWJvYXJkID0gMCkgPSAwOworKworKyAgICAvKiEKKysgICAg ICogU2V0IHRoZSBtYXN0ZXIgY2xvY2sgcmF0ZS4KKysgICAgICogXHBhcmFtIHJhdGUgdGhlIG5l dyByYXRlIGluIEh6CisrICAgICAqIFxwYXJhbSBtYm9hcmQgdGhlIG1vdGhlcmJvYXJkIGluZGV4 IDAgdG8gTS0xCisrICAgICAqLworKyAgICB2aXJ0dWFsIHZvaWQgc2V0X2Nsb2NrX3JhdGUoZG91 YmxlIHJhdGUsIHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBH ZXQgdGhlIGN1cnJlbnQgdGltZSByZWdpc3RlcnMuCisrICAgICAqIFxwYXJhbSBtYm9hcmQgdGhl IG1vdGhlcmJvYXJkIGluZGV4IDAgdG8gTS0xCisrICAgICAqIFxyZXR1cm4gdGhlIGN1cnJlbnQg ZGV2aWNlIHRpbWUKKysgICAgICovCisrICAgIHZpcnR1YWwgOjpvc21vc2RyOjp0aW1lX3NwZWNf dCBnZXRfdGltZV9ub3coc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKysKKysgICAgLyohCisrICAg ICAqIEdldCB0aGUgdGltZSB3aGVuIHRoZSBsYXN0IHBwcyBwdWxzZSBvY2N1cmVkLgorKyAgICAg KiBccGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQorKyAgICAgKiBc cmV0dXJuIHRoZSBjdXJyZW50IGRldmljZSB0aW1lCisrICAgICAqLworKyAgICB2aXJ0dWFsIDo6 b3Ntb3Nkcjo6dGltZV9zcGVjX3QgZ2V0X3RpbWVfbGFzdF9wcHMoc2l6ZV90IG1ib2FyZCA9IDAp ID0gMDsKKysKKysgICAgLyohCisrICAgICAqIFNldHMgdGhlIHRpbWUgcmVnaXN0ZXJzIGltbWVk aWF0ZWx5LgorKyAgICAgKiBccGFyYW0gdGltZV9zcGVjIHRoZSBuZXcgdGltZQorKyAgICAgKiBc cGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQorKyAgICAgKi8KKysg ICAgdmlydHVhbCB2b2lkIHNldF90aW1lX25vdyhjb25zdCA6Om9zbW9zZHI6OnRpbWVfc3BlY190 ICZ0aW1lX3NwZWMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IG1ib2Fy ZCA9IDApID0gMDsKKysKKysgICAgLyohCisrICAgICAqIFNldCB0aGUgdGltZSByZWdpc3RlcnMg YXQgdGhlIG5leHQgcHBzLgorKyAgICAgKiBccGFyYW0gdGltZV9zcGVjIHRoZSBuZXcgdGltZQor KyAgICAgKi8KKysgICAgdmlydHVhbCB2b2lkIHNldF90aW1lX25leHRfcHBzKGNvbnN0IDo6b3Nt b3Nkcjo6dGltZV9zcGVjX3QgJnRpbWVfc3BlYykgPSAwOworKworKyAgICAvKiEKKysgICAgICog U3luYyB0aGUgdGltZSByZWdpc3RlcnMgd2l0aCBhbiB1bmtub3duIHBwcyBlZGdlLgorKyAgICAg KiBccGFyYW0gdGltZV9zcGVjIHRoZSBuZXcgdGltZQorKyAgICAgKi8KKysgICAgdmlydHVhbCB2 b2lkIHNldF90aW1lX3Vua25vd25fcHBzKGNvbnN0IDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgJnRp bWVfc3BlYykgPSAwOworIH07CisgCistfSAvKiBuYW1lc3BhY2Ugb3Ntb3NkciAqLworK30gLy8g bmFtZXNwYWNlIG9zbW9zZHIKKyAKKyAjZW5kaWYgLyogSU5DTFVERURfT1NNT1NEUl9TSU5LX0gg Ki8KKysKK2RpZmYgLS1naXQgYS9pbmNsdWRlL29zbW9zZHIvc291cmNlLmggYi9pbmNsdWRlL29z bW9zZHIvc291cmNlLmgKK2luZGV4IDg4ZjgzODUuLmM4M2MyZmQgMTAwNjQ0CistLS0gaW5jbHVk ZS9vc21vc2RyL3NvdXJjZS5oCisrKysgaW5jbHVkZS9vc21vc2RyL3NvdXJjZS5oCitAQCAtMSwy MiArMSwyMyBAQAorIC8qIC0qLSBjKysgLSotICovCisgLyoKKy0gKiBDb3B5cmlnaHQgMjAxMiBE aW1pdHJpIFN0b2xuaWtvdiA8aG9yaXowbkBnbXgubmV0PgorKyAqIENvcHlyaWdodCAyMDE5IGdy LW9zbW9zZHIgYXV0aG9yLgorICAqCistICogR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgKiBUaGlzIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgKiBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorICAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMs IG9yIChhdCB5b3VyIG9wdGlvbikKKyAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAgKgorLSAqIEdO VSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorKyAqIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKyAgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgKiBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICAqCisgICogWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0gKiBhbG9u ZyB3aXRoIEdOVSBSYWRpbzsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRv CisrICogYWxvbmcgd2l0aCB0aGlzIHNvZnR3YXJlOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElm IG5vdCwgd3JpdGUgdG8KKyAgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1 MSBGcmFua2xpbiBTdHJlZXQsCisgICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgICov CisrCisgI2lmbmRlZiBJTkNMVURFRF9PU01PU0RSX1NPVVJDRV9ICisgI2RlZmluZSBJTkNMVURF RF9PU01PU0RSX1NPVVJDRV9ICisgCitAQCAtMjksMTggKzMwLDE3IEBAIG5hbWVzcGFjZSBvc21v c2RyIHsKKyAKKyBjbGFzcyBzb3VyY2U7CisgCistLyohCistICogXGJyaWVmIFByb3ZpZGVzIGEg c3RyZWFtIG9mIGNvbXBsZXggc2FtcGxlcy4KKy0gKiBcaW5ncm91cCBibG9jaworKyAgICAvKiEK KysgKiBcYnJpZWYgPCtkZXNjcmlwdGlvbiBvZiBibG9jays+CisrICogXGluZ3JvdXAgb3Ntb3Nk cgorICAqCistICogVGhpcyB1c2VzIHRoZSBwcmVmZXJyZWQgdGVjaG5pcXVlOiBzdWJjbGFzc2lu ZyBncjo6aGllcl9ibG9jazIuCisgICovCisgY2xhc3MgT1NNT1NEUl9BUEkgc291cmNlIDogdmly dHVhbCBwdWJsaWMgZ3I6OmhpZXJfYmxvY2syCisgeworLXB1YmxpYzoKKy0gIHR5cGVkZWYgYm9v c3Q6OnNoYXJlZF9wdHI8IHNvdXJjZSA+IHNwdHI7CisrIHB1YmxpYzoKKysgIHR5cGVkZWYgYm9v c3Q6OnNoYXJlZF9wdHI8c291cmNlPiBzcHRyOworIAorLSAgLyohCisrLyohCisgICAgKiBcYnJp ZWYgUmV0dXJuIGEgc2hhcmVkX3B0ciB0byBhIG5ldyBpbnN0YW5jZSBvZiBzb3VyY2UuCisgICAg KgorICAgICogVG8gYXZvaWQgYWNjaWRlbnRhbCB1c2Ugb2YgcmF3IHBvaW50ZXJzLCBzb3VyY2Un cworQEAgLTUwLDM3MyArNTAsMzc0IEBAIHB1YmxpYzoKKyAgICAqIFxwYXJhbSBhcmdzIHRoZSBh ZGRyZXNzIHRvIGlkZW50aWZ5IHRoZSBoYXJkd2FyZQorICAgICogXHJldHVybiBhIG5ldyBvc21v c2RyIHNvdXJjZSBibG9jayBvYmplY3QKKyAgICAqLworLSAgc3RhdGljIHNwdHIgbWFrZSggY29u c3Qgc3RkOjpzdHJpbmcgJiBhcmdzID0gIiIgKTsKKy0KKy0gIC8qIQorLSAgICogR2V0IHRoZSBu dW1iZXIgb2YgY2hhbm5lbHMgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUgb2ZmZXJzLgor LSAgICogXHJldHVybiB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBjaGFubmVscworLSAgICovCist ICB2aXJ0dWFsIHNpemVfdCBnZXRfbnVtX2NoYW5uZWxzKCB2b2lkICkgPSAwOworLQorLSAgLyoh CistICAgKiBcYnJpZWYgc2VlayBmaWxlIHRvIFxwIHNlZWtfcG9pbnQgcmVsYXRpdmUgdG8gXHAg d2hlbmNlCistICAgKgorLSAgICogXHBhcmFtIHNlZWtfcG9pbnQJc2FtcGxlIG9mZnNldCBpbiBm aWxlCistICAgKiBccGFyYW0gd2hlbmNlCW9uZSBvZiBTRUVLX1NFVCwgU0VFS19DVVIsIFNFRUtf RU5EIChtYW4gZnNlZWspCistICAgKiBccmV0dXJuIHRydWUgb24gc3VjY2VzcworLSAgICovCist ICB2aXJ0dWFsIGJvb2wgc2VlayggbG9uZyBzZWVrX3BvaW50LCBpbnQgd2hlbmNlLCBzaXplX3Qg Y2hhbiA9IDAgKSA9IDA7CistCistICAvKiEKKy0gICAqIEdldCB0aGUgcG9zc2libGUgc2FtcGxl IHJhdGVzIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFxyZXR1cm4g YSByYW5nZSBvZiByYXRlcyBpbiBTcHMKKy0gICAqLworLSAgdmlydHVhbCBvc21vc2RyOjptZXRh X3JhbmdlX3QgZ2V0X3NhbXBsZV9yYXRlcyggdm9pZCApID0gMDsKKy0KKy0gIC8qIQorLSAgICog U2V0IHRoZSBzYW1wbGUgcmF0ZSBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCist ICAgKiBUaGlzIGFsc28gd2lsbCBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIElGIGJhbmRwYXNzLCBp ZiBhcHBsaWNhYmxlLgorLSAgICogXHBhcmFtIHJhdGUgYSBuZXcgcmF0ZSBpbiBTcHMKKy0gICAq LworLSAgdmlydHVhbCBkb3VibGUgc2V0X3NhbXBsZV9yYXRlKCBkb3VibGUgcmF0ZSApID0gMDsK Ky0KKy0gIC8qIQorLSAgICogR2V0IHRoZSBzYW1wbGUgcmF0ZSBmb3IgdGhlIHVuZGVybHlpbmcg cmFkaW8gaGFyZHdhcmUuCistICAgKiBUaGlzIGlzIHRoZSBhY3R1YWwgc2FtcGxlIHJhdGUgYW5k IG1heSBkaWZmZXIgZnJvbSB0aGUgcmF0ZSBzZXQuCistICAgKiBccmV0dXJuIHRoZSBhY3R1YWwg cmF0ZSBpbiBTcHMKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgZ2V0X3NhbXBsZV9yYXRlKCB2 b2lkICkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQgdGhlIHR1bmFibGUgZnJlcXVlbmN5IHJh bmdlIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFxwYXJhbSBjaGFu IHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIHRoZSBmcmVxdWVuY3kg cmFuZ2UgaW4gSHoKKy0gICAqLworLSAgdmlydHVhbCBvc21vc2RyOjpmcmVxX3JhbmdlX3QgZ2V0 X2ZyZXFfcmFuZ2UoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogVHVu ZSB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZSB0byB0aGUgZGVzaXJlZCBjZW50ZXIgZnJl cXVlbmN5LgorLSAgICogVGhpcyBhbHNvIHdpbGwgc2VsZWN0IHRoZSBhcHByb3ByaWF0ZSBSRiBi YW5kcGFzcy4KKy0gICAqIFxwYXJhbSBmcmVxIHRoZSBkZXNpcmVkIGZyZXF1ZW5jeSBpbiBIegor LSAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAqIFxyZXR1 cm4gdGhlIGFjdHVhbCBmcmVxdWVuY3kgaW4gSHoKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUg c2V0X2NlbnRlcl9mcmVxKCBkb3VibGUgZnJlcSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQor LSAgLyohCistICAgKiBHZXQgdGhlIGNlbnRlciBmcmVxdWVuY3kgdGhlIHVuZGVybHlpbmcgcmFk aW8gaGFyZHdhcmUgaXMgdHVuZWQgdG8uCistICAgKiBUaGlzIGlzIHRoZSBhY3R1YWwgZnJlcXVl bmN5IGFuZCBtYXkgZGlmZmVyIGZyb20gdGhlIGZyZXF1ZW5jeSBzZXQuCistICAgKiBccGFyYW0g Y2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUgZnJlcXVl bmN5IGluIEh6CistICAgKi8KKy0gIHZpcnR1YWwgZG91YmxlIGdldF9jZW50ZXJfZnJlcSggc2l6 ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyohCistICAgKiBTZXQgdGhlIGZyZXF1ZW5jeSBj b3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uLgorLSAgICogXHBhcmFtIHBwbSB0 aGUgZGVzaXJlZCBjb3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCistICAgKiBc cGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiBjb3Jy ZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCistICAgKi8KKy0gIHZpcnR1YWwgZG91 YmxlIHNldF9mcmVxX2NvcnIoIGRvdWJsZSBwcG0sIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0K Ky0gIC8qIQorLSAgICogR2V0IHRoZSBmcmVxdWVuY3kgY29ycmVjdGlvbiB2YWx1ZS4KKy0gICAq IFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIGNv cnJlY3Rpb24gdmFsdWUgaW4gcGFydHMgcGVyIG1pbGxpb24KKy0gICAqLworLSAgdmlydHVhbCBk b3VibGUgZ2V0X2ZyZXFfY29yciggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyohCist ICAgKiBHZXQgdGhlIGdhaW4gc3RhZ2UgbmFtZXMgb2YgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFy ZHdhcmUuCistICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAg ICogXHJldHVybiBhIHZlY3RvciBvZiBzdHJpbmdzIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIGdh aW4gc3RhZ2VzCistICAgKi8KKy0gIHZpcnR1YWwgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGdl dF9nYWluX25hbWVzKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAvKiEKKy0gICAqIEdl dCB0aGUgc2V0dGFibGUgb3ZlcmFsbCBnYWluIHJhbmdlIGZvciB0aGUgdW5kZXJseWluZyByYWRp byBoYXJkd2FyZS4KKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0x CistICAgKiBccmV0dXJuIHRoZSBnYWluIHJhbmdlIGluIGRCCistICAgKi8KKy0gIHZpcnR1YWwg b3Ntb3Nkcjo6Z2Fpbl9yYW5nZV90IGdldF9nYWluX3JhbmdlKCBzaXplX3QgY2hhbiA9IDAgKSA9 IDA7CistCistICAvKiEKKy0gICAqIEdldCB0aGUgc2V0dGFibGUgZ2FpbiByYW5nZSBmb3IgYSBz cGVjaWZpYyBnYWluIHN0YWdlLgorLSAgICogXHBhcmFtIG5hbWUgdGhlIG5hbWUgb2YgdGhlIGdh aW4gc3RhZ2UKKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCist ICAgKiBccmV0dXJuIHRoZSBnYWluIHJhbmdlIGluIGRCCistICAgKi8KKy0gIHZpcnR1YWwgb3Nt b3Nkcjo6Z2Fpbl9yYW5nZV90IGdldF9nYWluX3JhbmdlKCBjb25zdCBzdGQ6OnN0cmluZyAmIG5h bWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6 ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyohCistICAgKiBTZXQgdGhlIGdhaW4gbW9kZSBm b3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAgKiBUaGlzIG1pZ2h0IGJlIHN1 cHBvcnRlZCBvbmx5IGZvciBjZXJ0YWluIGhhcmR3YXJlIHR5cGVzLgorLSAgICogXHBhcmFtIGF1 dG9tYXRpYyB0aGUgZ2FpbiBtb2RlICh0cnVlIG1lYW5zIGF1dG9tYXRpYyBnYWluIG1vZGUpCist ICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVy biB0aGUgYWN0dWFsIGdhaW4gbW9kZQorLSAgICovCistICB2aXJ0dWFsIGJvb2wgc2V0X2dhaW5f bW9kZSggYm9vbCBhdXRvbWF0aWMsIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQor LSAgICogR2V0IHRoZSBnYWluIG1vZGUgc2VsZWN0ZWQgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlv IGhhcmR3YXJlLgorLSAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEK Ky0gICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIG1vZGUgKHRydWUgbWVhbnMgYXV0b21hdGlj IGdhaW4gbW9kZSkKKy0gICAqLworLSAgdmlydHVhbCBib29sIGdldF9nYWluX21vZGUoIHNpemVf dCBjaGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogU2V0IHRoZSBnYWluIGZvciB0aGUg dW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRv bWF0aWNhbGx5IGRpc3RyaWJ1dGUgdGhlIGRlc2lyZWQgZ2FpbiB2YWx1ZSBvdmVyCistICAgKiBh dmFpbGFibGUgZ2FpbiBzdGFnZXMgaW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCByZXR1cm4gdGhl IGFjdHVhbCB2YWx1ZS4KKy0gICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCistICAgKiBc cGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUg YWN0dWFsIGdhaW4gaW4gZEIKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgc2V0X2dhaW4oIGRv dWJsZSBnYWluLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAvKiEKKy0gICAqIFNldCB0 aGUgbmFtZWQgZ2FpbiBvbiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFxw YXJhbSBnYWluIHRoZSBnYWluIGluIGRCCistICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0 aGUgZ2FpbiBzdGFnZQorLSAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBO LTEKKy0gICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCistICAgKi8KKy0gIHZpcnR1 YWwgZG91YmxlIHNldF9nYWluKCBkb3VibGUgZ2FpbiwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdGQ6OnN0cmluZyAmIG5hbWUsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQgdGhlIGFjdHVh bCBnYWluIHNldHRpbmcgb2YgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAgKiBc cGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUg YWN0dWFsIGdhaW4gaW4gZEIKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgZ2V0X2dhaW4oIHNp emVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogR2V0IHRoZSBhY3R1YWwgZ2Fp biBzZXR0aW5nIG9mIGEgbmFtZWQgc3RhZ2UuCistICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBv ZiB0aGUgZ2FpbiBzdGFnZQorLSAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0 byBOLTEKKy0gICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCistICAgKi8KKy0gIHZp cnR1YWwgZG91YmxlIGdldF9nYWluKCBjb25zdCBzdGQ6OnN0cmluZyAmIG5hbWUsIHNpemVfdCBj aGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogU2V0IHRoZSBJRiBnYWluIGZvciB0aGUg dW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRv bWF0aWNhbGx5IGRpc3RyaWJ1dGUgdGhlIGRlc2lyZWQgZ2FpbiB2YWx1ZSBvdmVyCistICAgKiBh dmFpbGFibGUgSUYgZ2FpbiBzdGFnZXMgaW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCByZXR1cm4g dGhlIGFjdHVhbCB2YWx1ZS4KKy0gICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCistICAg KiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0 aGUgYWN0dWFsIGdhaW4gaW4gZEIKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgc2V0X2lmX2dh aW4oIGRvdWJsZSBnYWluLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAvKiEKKy0gICAq IFNldCB0aGUgQkIgZ2FpbiBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAg KiBUaGlzIGZ1bmN0aW9uIHdpbGwgYXV0b21hdGljYWxseSBkaXN0cmlidXRlIHRoZSBkZXNpcmVk IGdhaW4gdmFsdWUgb3ZlcgorLSAgICogYXZhaWxhYmxlIEJCIGdhaW4gc3RhZ2VzIGluIGFuIGFw cHJvcHJpYXRlIHdheSBhbmQgcmV0dXJuIHRoZSBhY3R1YWwgdmFsdWUuCistICAgKiBccGFyYW0g Z2FpbiB0aGUgZ2FpbiBpbiBkQgorLSAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXgg MCB0byBOLTEKKy0gICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCistICAgKi8KKy0g IHZpcnR1YWwgZG91YmxlIHNldF9iYl9nYWluKCBkb3VibGUgZ2Fpbiwgc2l6ZV90IGNoYW4gPSAw ICkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQgdGhlIGF2YWlsYWJsZSBhbnRlbm5hcyBvZiB0 aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFu bmVsIGluZGV4IDAgdG8gTi0xCistICAgKiBccmV0dXJuIGEgdmVjdG9yIG9mIHN0cmluZ3MgY29u dGFpbmluZyB0aGUgbmFtZXMgb2YgYXZhaWxhYmxlIGFudGVubmFzCistICAgKi8KKy0gIHZpcnR1 YWwgc3RkOjp2ZWN0b3I8IHN0ZDo6c3RyaW5nID4gZ2V0X2FudGVubmFzKCBzaXplX3QgY2hhbiA9 IDAgKSA9IDA7CistCistICAvKiEKKy0gICAqIFNlbGVjdCB0aGUgYWN0aXZlIGFudGVubmEgb2Yg dGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAgKiBccGFyYW0gYW50ZW5uYSBuYW1l IG9mIHRoZSBhbnRlbm5hIHRvIGJlIHNlbGVjdGVkCistICAgKiBccGFyYW0gY2hhbiB0aGUgY2hh bm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUgYWN0dWFsIGFudGVubmEncyBu YW1lCistICAgKi8KKy0gIHZpcnR1YWwgc3RkOjpzdHJpbmcgc2V0X2FudGVubmEoIGNvbnN0IHN0 ZDo6c3RyaW5nICYgYW50ZW5uYSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gIC8qIQorLSAgICogR2V0IHRoZSBhY3R1YWwg dW5kZXJseWluZyByYWRpbyBoYXJkd2FyZSBhbnRlbm5hIHNldHRpbmcuCistICAgKiBccGFyYW0g Y2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUgYWN0dWFs IGFudGVubmEncyBuYW1lCistICAgKi8KKy0gIHZpcnR1YWwgc3RkOjpzdHJpbmcgZ2V0X2FudGVu bmEoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gIGVudW0gRENPZmZzZXRNb2RlIHsKKy0g ICAgRENPZmZzZXRPZmYgPSAwLAorLSAgICBEQ09mZnNldE1hbnVhbCwKKy0gICAgRENPZmZzZXRB dXRvbWF0aWMKKy0gIH07CistCistICAvKiEKKy0gICAqIFNldCB0aGUgUlggZnJvbnRlbmQgREMg Y29ycmVjdGlvbiBtb2RlLgorLSAgICogVGhlIGF1dG9tYXRpYyBjb3JyZWN0aW9uIHN1YnRyYWN0 cyBvdXQgdGhlIGxvbmctcnVuIGF2ZXJhZ2UuCistICAgKgorLSAgICogV2hlbiBkaXNhYmxlZCwg dGhlIGF2ZXJhZ2luZyBvcHRpb24gb3BlcmF0aW9uIGlzIHJlc2V0LgorLSAgICogT25jZSBpbiBN YW51YWwgbW9kZSwgdGhlIGF2ZXJhZ2UgdmFsdWUgd2lsbCBiZSBoZWxkIGNvbnN0YW50IHVudGls CistICAgKiB0aGUgdXNlciByZS1lbmFibGVzIHRoZSBhdXRvbWF0aWMgY29ycmVjdGlvbiBvciBv dmVycmlkZXMgdGhlCistICAgKiB2YWx1ZSBieSBtYW51YWxseSBzZXR0aW5nIHRoZSBvZmZzZXQu CistICAgKgorLSAgICogXHBhcmFtIG1vZGUgZGMgb2Zmc2V0IGNvcnJlY3Rpb24gbW9kZTogMCA9 IE9mZiwgMSA9IE1hbnVhbCwgMiA9IEF1dG9tYXRpYworLSAgICogXHBhcmFtIGNoYW4gdGhlIGNo YW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAqLworLSAgdmlydHVhbCB2b2lkIHNldF9kY19vZmZz ZXRfbW9kZSggaW50IG1vZGUsIHNpemVfdCBjaGFuID0gMCkgPSAwOworLQorLSAgLyohCistICAg KiBTZXQgdGhlIFJYIGZyb250ZW5kIERDIG9mZnNldCB2YWx1ZS4KKy0gICAqIFRoZSB2YWx1ZSBp cyBjb21wbGV4IHRvIGNvbnRyb2wgYm90aCBJIGFuZCBRLgorLSAgICogT25seSBzZXQgdGhpcyB3 aGVuIGF1dG9tYXRpYyBjb3JyZWN0aW9uIGlzIGRpc2FibGVkLgorLSAgICoKKy0gICAqIFxwYXJh bSBvZmZzZXQgdGhlIGRjIG9mZnNldCAoMS4wIGlzIGZ1bGwtc2NhbGUpCistICAgKiBccGFyYW0g Y2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICovCistICB2aXJ0dWFsIHZvaWQg c2V0X2RjX29mZnNldCggY29uc3Qgc3RkOjpjb21wbGV4PGRvdWJsZT4gJm9mZnNldCwgc2l6ZV90 IGNoYW4gPSAwICkgPSAwOworLQorLSAgZW51bSBJUUJhbGFuY2VNb2RlIHsKKy0gICAgSVFCYWxh bmNlT2ZmID0gMCwKKy0gICAgSVFCYWxhbmNlTWFudWFsLAorLSAgICBJUUJhbGFuY2VBdXRvbWF0 aWMKKy0gIH07CistCistICAvKiEKKy0gICAqIFNldCB0aGUgUlggZnJvbnRlbmQgSVEgYmFsYW5j ZSBtb2RlLgorLSAgICoKKy0gICAqIFxwYXJhbSBtb2RlIGlxIGJhbGFuY2UgY29ycmVjdGlvbiBt b2RlOiAwID0gT2ZmLCAxID0gTWFudWFsLCAyID0gQXV0b21hdGljCistICAgKiBccGFyYW0gY2hh biB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICovCistICB2aXJ0dWFsIHZvaWQgc2V0 X2lxX2JhbGFuY2VfbW9kZSggaW50IG1vZGUsIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0g IC8qIQorLSAgICogU2V0IHRoZSBSWCBmcm9udGVuZCBJUSBiYWxhbmNlIGNvcnJlY3Rpb24uCist ICAgKiBVc2UgdGhpcyB0byBhZGp1c3QgdGhlIG1hZ25pdHVkZSBhbmQgcGhhc2Ugb2YgSSBhbmQg US4KKy0gICAqCistICAgKiBccGFyYW0gYmFsYW5jZSB0aGUgY29tcGxleCBjb3JyZWN0aW9uIHZh bHVlCistICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICov CistICB2aXJ0dWFsIHZvaWQgc2V0X2lxX2JhbGFuY2UoIGNvbnN0IHN0ZDo6Y29tcGxleDxkb3Vi bGU+ICZiYWxhbmNlLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAvKiEKKy0gICAqIFNl dCB0aGUgYmFuZHBhc3MgZmlsdGVyIG9uIHRoZSByYWRpbyBmcm9udGVuZC4KKy0gICAqIFxwYXJh bSBiYW5kd2lkdGggdGhlIGZpbHRlciBiYW5kd2lkdGggaW4gSHosIHNldCB0byAwIGZvciBhdXRv bWF0aWMgc2VsZWN0aW9uCistICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRv IE4tMQorLSAgICogXHJldHVybiB0aGUgYWN0dWFsIGZpbHRlciBiYW5kd2lkdGggaW4gSHoKKy0g ICAqLworLSAgdmlydHVhbCBkb3VibGUgc2V0X2JhbmR3aWR0aCggZG91YmxlIGJhbmR3aWR0aCwg c2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQgdGhlIGFjdHVhbCBi YW5kcGFzcyBmaWx0ZXIgc2V0dGluZyBvbiB0aGUgcmFkaW8gZnJvbnRlbmQuCistICAgKiBccGFy YW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICogXHJldHVybiB0aGUgYWN0 dWFsIGZpbHRlciBiYW5kd2lkdGggaW4gSHoKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgZ2V0 X2JhbmR3aWR0aCggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQg dGhlIHBvc3NpYmxlIGJhbmRwYXNzIGZpbHRlciBzZXR0aW5ncyBvbiB0aGUgcmFkaW8gZnJvbnRl bmQuCistICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICog XHJldHVybiBhIHJhbmdlIG9mIGJhbmR3aWR0aHMgaW4gSHoKKy0gICAqLworLSAgdmlydHVhbCBv c21vc2RyOjpmcmVxX3JhbmdlX3QgZ2V0X2JhbmR3aWR0aF9yYW5nZSggc2l6ZV90IGNoYW4gPSAw ICkgPSAwOworLQorLSAgLyohCistICAgKiBTZXQgdGhlIHRpbWUgc291cmNlIGZvciB0aGUgZGV2 aWNlLgorLSAgICogVGhpcyBzZXRzIHRoZSBtZXRob2Qgb2YgdGltZSBzeW5jaHJvbml6YXRpb24s CistICAgKiB0eXBpY2FsbHkgYSBwdWxzZSBwZXIgc2Vjb25kIG9yIGFuIGVuY29kZWQgdGltZS4K Ky0gICAqIFR5cGljYWwgb3B0aW9ucyBmb3Igc291cmNlOiBleHRlcm5hbCwgTUlNTy4KKy0gICAq IFxwYXJhbSBzb3VyY2UgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0aW1lIHNvdXJjZQorLSAg ICogXHBhcmFtIG1ib2FyZCB3aGljaCBtb3RoZXJib2FyZCB0byBzZXQgdGhlIGNvbmZpZworLSAg ICovCistICB2aXJ0dWFsIHZvaWQgc2V0X3RpbWVfc291cmNlKGNvbnN0IHN0ZDo6c3RyaW5nICZz b3VyY2UsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBtYm9h cmQgPSAwKSA9IDA7CistCistICAvKiEKKy0gICAqIEdldCB0aGUgY3VycmVudGx5IHNldCB0aW1l IHNvdXJjZS4KKy0gICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRo ZSBjb25maWcKKy0gICAqIFxyZXR1cm4gdGhlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHRpbWUg c291cmNlCistICAgKi8KKy0gIHZpcnR1YWwgc3RkOjpzdHJpbmcgZ2V0X3RpbWVfc291cmNlKGNv bnN0IHNpemVfdCBtYm9hcmQpID0gMDsKKy0KKy0gIC8qIQorLSAgICogR2V0IGEgbGlzdCBvZiBw b3NzaWJsZSB0aW1lIHNvdXJjZXMuCistICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1vdGhlcmJv YXJkIHRvIGdldCB0aGUgbGlzdAorLSAgICogXHJldHVybiBhIHZlY3RvciBvZiBzdHJpbmdzIGZv ciBwb3NzaWJsZSBzZXR0aW5ncworLSAgICovCistICB2aXJ0dWFsIHN0ZDo6dmVjdG9yPHN0ZDo6 c3RyaW5nPiBnZXRfdGltZV9zb3VyY2VzKGNvbnN0IHNpemVfdCBtYm9hcmQpID0gMDsKKy0KKy0g IC8qIQorLSAgICogU2V0IHRoZSBjbG9jayBzb3VyY2UgZm9yIHRoZSBkZXZpY2UuCistICAgKiBU aGlzIHNldHMgdGhlIHNvdXJjZSBmb3IgYSAxMCBNaHogcmVmZXJlbmNlIGNsb2NrLgorLSAgICog VHlwaWNhbCBvcHRpb25zIGZvciBzb3VyY2U6IGludGVybmFsLCBleHRlcm5hbCwgTUlNTy4KKy0g ICAqIFxwYXJhbSBzb3VyY2UgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjbG9jayBzb3VyY2UK Ky0gICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gc2V0IHRoZSBjb25maWcK Ky0gICAqLworLSAgdmlydHVhbCB2b2lkIHNldF9jbG9ja19zb3VyY2UoY29uc3Qgc3RkOjpzdHJp bmcgJnNvdXJjZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpemVf dCBtYm9hcmQgPSAwKSA9IDA7CistCistICAvKiEKKy0gICAqIEdldCB0aGUgY3VycmVudGx5IHNl dCBjbG9jayBzb3VyY2UuCistICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJkIHRv IGdldCB0aGUgY29uZmlnCistICAgKiBccmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50aW5nIHRo ZSBjbG9jayBzb3VyY2UKKy0gICAqLworLSAgdmlydHVhbCBzdGQ6OnN0cmluZyBnZXRfY2xvY2tf c291cmNlKGNvbnN0IHNpemVfdCBtYm9hcmQpID0gMDsKKy0KKy0gIC8qIQorLSAgICogR2V0IGEg bGlzdCBvZiBwb3NzaWJsZSBjbG9jayBzb3VyY2VzLgorLSAgICogXHBhcmFtIG1ib2FyZCB3aGlj aCBtb3RoZXJib2FyZCB0byBnZXQgdGhlIGxpc3QKKy0gICAqIFxyZXR1cm4gYSB2ZWN0b3Igb2Yg c3RyaW5ncyBmb3IgcG9zc2libGUgc2V0dGluZ3MKKy0gICAqLworLSAgdmlydHVhbCBzdGQ6OnZl Y3RvcjxzdGQ6OnN0cmluZz4gZ2V0X2Nsb2NrX3NvdXJjZXMoY29uc3Qgc2l6ZV90IG1ib2FyZCkg PSAwOworLQorLSAgLyohCistICAgKiBHZXQgdGhlIG1hc3RlciBjbG9jayByYXRlLgorLSAgICog XHBhcmFtIG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKy0gICAqIFxyZXR1 cm4gdGhlIGNsb2NrIHJhdGUgaW4gSHoKKy0gICAqLworLSAgdmlydHVhbCBkb3VibGUgZ2V0X2Ns b2NrX3JhdGUoc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKy0KKy0gIC8qIQorLSAgICogU2V0IHRo ZSBtYXN0ZXIgY2xvY2sgcmF0ZS4KKy0gICAqIFxwYXJhbSByYXRlIHRoZSBuZXcgcmF0ZSBpbiBI egorLSAgICogXHBhcmFtIG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKy0g ICAqLworLSAgdmlydHVhbCB2b2lkIHNldF9jbG9ja19yYXRlKGRvdWJsZSByYXRlLCBzaXplX3Qg bWJvYXJkID0gMCkgPSAwOworLQorLSAgLyohCistICAgKiBHZXQgdGhlIGN1cnJlbnQgdGltZSBy ZWdpc3RlcnMuCistICAgKiBccGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRv IE0tMQorLSAgICogXHJldHVybiB0aGUgY3VycmVudCBkZXZpY2UgdGltZQorLSAgICovCistICB2 aXJ0dWFsIDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgZ2V0X3RpbWVfbm93KHNpemVfdCBtYm9hcmQg PSAwKSA9IDA7CistCistICAvKiEKKy0gICAqIEdldCB0aGUgdGltZSB3aGVuIHRoZSBsYXN0IHBw cyBwdWxzZSBvY2N1cmVkLgorLSAgICogXHBhcmFtIG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5k ZXggMCB0byBNLTEKKy0gICAqIFxyZXR1cm4gdGhlIGN1cnJlbnQgZGV2aWNlIHRpbWUKKy0gICAq LworLSAgdmlydHVhbCA6Om9zbW9zZHI6OnRpbWVfc3BlY190IGdldF90aW1lX2xhc3RfcHBzKHNp emVfdCBtYm9hcmQgPSAwKSA9IDA7CistCistICAvKiEKKy0gICAqIFNldHMgdGhlIHRpbWUgcmVn aXN0ZXJzIGltbWVkaWF0ZWx5LgorLSAgICogXHBhcmFtIHRpbWVfc3BlYyB0aGUgbmV3IHRpbWUK Ky0gICAqIFxwYXJhbSBtYm9hcmQgdGhlIG1vdGhlcmJvYXJkIGluZGV4IDAgdG8gTS0xCistICAg Ki8KKy0gIHZpcnR1YWwgdm9pZCBzZXRfdGltZV9ub3coY29uc3QgOjpvc21vc2RyOjp0aW1lX3Nw ZWNfdCAmdGltZV9zcGVjLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbWJv YXJkID0gMCkgPSAwOworLQorLSAgLyohCistICAgKiBTZXQgdGhlIHRpbWUgcmVnaXN0ZXJzIGF0 IHRoZSBuZXh0IHBwcy4KKy0gICAqIFxwYXJhbSB0aW1lX3NwZWMgdGhlIG5ldyB0aW1lCistICAg Ki8KKy0gIHZpcnR1YWwgdm9pZCBzZXRfdGltZV9uZXh0X3Bwcyhjb25zdCA6Om9zbW9zZHI6OnRp bWVfc3BlY190ICZ0aW1lX3NwZWMpID0gMDsKKy0KKy0gIC8qIQorLSAgICogU3luYyB0aGUgdGlt ZSByZWdpc3RlcnMgd2l0aCBhbiB1bmtub3duIHBwcyBlZGdlLgorLSAgICogXHBhcmFtIHRpbWVf c3BlYyB0aGUgbmV3IHRpbWUKKy0gICAqLworLSAgdmlydHVhbCB2b2lkIHNldF90aW1lX3Vua25v d25fcHBzKGNvbnN0IDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgJnRpbWVfc3BlYykgPSAwOworKyAg ICBzdGF0aWMgc3B0ciBtYWtlKCBjb25zdCBzdGQ6OnN0cmluZyAmIGFyZ3MgPSAiIiApOworKwor KyAgICAvKiEKKysgICAgICogR2V0IHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgdGhlIHVuZGVybHlp bmcgcmFkaW8gaGFyZHdhcmUgb2ZmZXJzLgorKyAgICAgKiBccmV0dXJuIHRoZSBudW1iZXIgb2Yg YXZhaWxhYmxlIGNoYW5uZWxzCisrICAgICAqLworKyAgICB2aXJ0dWFsIHNpemVfdCBnZXRfbnVt X2NoYW5uZWxzKCB2b2lkICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogXGJyaWVmIHNlZWsg ZmlsZSB0byBccCBzZWVrX3BvaW50IHJlbGF0aXZlIHRvIFxwIHdoZW5jZQorKyAgICAgKgorKyAg ICAgKiBccGFyYW0gc2Vla19wb2ludAlzYW1wbGUgb2Zmc2V0IGluIGZpbGUKKysgICAgICogXHBh cmFtIHdoZW5jZQlvbmUgb2YgU0VFS19TRVQsIFNFRUtfQ1VSLCBTRUVLX0VORCAobWFuIGZzZWVr KQorKyAgICAgKiBccmV0dXJuIHRydWUgb24gc3VjY2VzcworKyAgICAgKi8KKysgICAgdmlydHVh bCBib29sIHNlZWsoIGxvbmcgc2Vla19wb2ludCwgaW50IHdoZW5jZSwgc2l6ZV90IGNoYW4gPSAw ICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBwb3NzaWJsZSBzYW1wbGUgcmF0 ZXMgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorKyAgICAgKiBccmV0dXJuIGEg cmFuZ2Ugb2YgcmF0ZXMgaW4gU3BzCisrICAgICAqLworKyAgICB2aXJ0dWFsIG9zbW9zZHI6Om1l dGFfcmFuZ2VfdCBnZXRfc2FtcGxlX3JhdGVzKCB2b2lkICkgPSAwOworKworKyAgICAvKiEKKysg ICAgICogU2V0IHRoZSBzYW1wbGUgcmF0ZSBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdh cmUuCisrICAgICAqIFRoaXMgYWxzbyB3aWxsIHNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgSUYgYmFu ZHBhc3MsIGlmIGFwcGxpY2FibGUuCisrICAgICAqIFxwYXJhbSByYXRlIGEgbmV3IHJhdGUgaW4g U3BzCisrICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfc2FtcGxlX3JhdGUoIGRvdWJs ZSByYXRlICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBzYW1wbGUgcmF0ZSBm b3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgICAqIFRoaXMgaXMgdGhlIGFj dHVhbCBzYW1wbGUgcmF0ZSBhbmQgbWF5IGRpZmZlciBmcm9tIHRoZSByYXRlIHNldC4KKysgICAg ICogXHJldHVybiB0aGUgYWN0dWFsIHJhdGUgaW4gU3BzCisrICAgICAqLworKyAgICB2aXJ0dWFs IGRvdWJsZSBnZXRfc2FtcGxlX3JhdGUoIHZvaWQgKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAg KiBHZXQgdGhlIHR1bmFibGUgZnJlcXVlbmN5IHJhbmdlIGZvciB0aGUgdW5kZXJseWluZyByYWRp byBoYXJkd2FyZS4KKysgICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBO LTEKKysgICAgICogXHJldHVybiB0aGUgZnJlcXVlbmN5IHJhbmdlIGluIEh6CisrICAgICAqLwor KyAgICB2aXJ0dWFsIG9zbW9zZHI6OmZyZXFfcmFuZ2VfdCBnZXRfZnJlcV9yYW5nZSggc2l6ZV90 IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogVHVuZSB0aGUgdW5kZXJseWlu ZyByYWRpbyBoYXJkd2FyZSB0byB0aGUgZGVzaXJlZCBjZW50ZXIgZnJlcXVlbmN5LgorKyAgICAg KiBUaGlzIGFsc28gd2lsbCBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIFJGIGJhbmRwYXNzLgorKyAg ICAgKiBccGFyYW0gZnJlcSB0aGUgZGVzaXJlZCBmcmVxdWVuY3kgaW4gSHoKKysgICAgICogXHBh cmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICogXHJldHVybiB0aGUg YWN0dWFsIGZyZXF1ZW5jeSBpbiBIegorKyAgICAgKi8KKysgICAgdmlydHVhbCBkb3VibGUgc2V0 X2NlbnRlcl9mcmVxKCBkb3VibGUgZnJlcSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAg ICAvKiEKKysgICAgICogR2V0IHRoZSBjZW50ZXIgZnJlcXVlbmN5IHRoZSB1bmRlcmx5aW5nIHJh ZGlvIGhhcmR3YXJlIGlzIHR1bmVkIHRvLgorKyAgICAgKiBUaGlzIGlzIHRoZSBhY3R1YWwgZnJl cXVlbmN5IGFuZCBtYXkgZGlmZmVyIGZyb20gdGhlIGZyZXF1ZW5jeSBzZXQuCisrICAgICAqIFxw YXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhl IGZyZXF1ZW5jeSBpbiBIegorKyAgICAgKi8KKysgICAgdmlydHVhbCBkb3VibGUgZ2V0X2NlbnRl cl9mcmVxKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBTZXQg dGhlIGZyZXF1ZW5jeSBjb3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uLgorKyAg ICAgKiBccGFyYW0gcHBtIHRoZSBkZXNpcmVkIGNvcnJlY3Rpb24gdmFsdWUgaW4gcGFydHMgcGVy IG1pbGxpb24KKysgICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEK KysgICAgICogXHJldHVybiBjb3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCisr ICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfZnJlcV9jb3JyKCBkb3VibGUgcHBtLCBz aXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBHZXQgdGhlIGZyZXF1 ZW5jeSBjb3JyZWN0aW9uIHZhbHVlLgorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBp bmRleCAwIHRvIE4tMQorKyAgICAgKiBccmV0dXJuIGNvcnJlY3Rpb24gdmFsdWUgaW4gcGFydHMg cGVyIG1pbGxpb24KKysgICAgICovCisrICAgIHZpcnR1YWwgZG91YmxlIGdldF9mcmVxX2NvcnIo IHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgICAgLyohCisrICAgICAqIEdldCB0aGUgZ2Fp biBzdGFnZSBuYW1lcyBvZiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAgICog XHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICogXHJldHVybiBh IHZlY3RvciBvZiBzdHJpbmdzIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIGdhaW4gc3RhZ2VzCisr ICAgICAqLworKyAgICB2aXJ0dWFsIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBnZXRfZ2Fpbl9u YW1lcyggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRo ZSBzZXR0YWJsZSBvdmVyYWxsIGdhaW4gcmFuZ2UgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhh cmR3YXJlLgorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQor KyAgICAgKiBccmV0dXJuIHRoZSBnYWluIHJhbmdlIGluIGRCCisrICAgICAqLworKyAgICB2aXJ0 dWFsIG9zbW9zZHI6OmdhaW5fcmFuZ2VfdCBnZXRfZ2Fpbl9yYW5nZSggc2l6ZV90IGNoYW4gPSAw ICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBzZXR0YWJsZSBnYWluIHJhbmdl IGZvciBhIHNwZWNpZmljIGdhaW4gc3RhZ2UuCisrICAgICAqIFxwYXJhbSBuYW1lIHRoZSBuYW1l IG9mIHRoZSBnYWluIHN0YWdlCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4 IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhlIGdhaW4gcmFuZ2UgaW4gZEIKKysgICAgICov CisrICAgIHZpcnR1YWwgb3Ntb3Nkcjo6Z2Fpbl9yYW5nZV90IGdldF9nYWluX3JhbmdlKCBjb25z dCBzdGQ6OnN0cmluZyAmIG5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8qIQorKyAg ICAgKiBTZXQgdGhlIGdhaW4gbW9kZSBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUu CisrICAgICAqIFRoaXMgbWlnaHQgYmUgc3VwcG9ydGVkIG9ubHkgZm9yIGNlcnRhaW4gaGFyZHdh cmUgdHlwZXMuCisrICAgICAqIFxwYXJhbSBhdXRvbWF0aWMgdGhlIGdhaW4gbW9kZSAodHJ1ZSBt ZWFucyBhdXRvbWF0aWMgZ2FpbiBtb2RlKQorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5l bCBpbmRleCAwIHRvIE4tMQorKyAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBtb2RlCisr ICAgICAqLworKyAgICB2aXJ0dWFsIGJvb2wgc2V0X2dhaW5fbW9kZSggYm9vbCBhdXRvbWF0aWMs IHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgICAgLyohCisrICAgICAqIEdldCB0aGUgZ2Fp biBtb2RlIHNlbGVjdGVkIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAg ICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICogXHJldHVy biB0aGUgYWN0dWFsIGdhaW4gbW9kZSAodHJ1ZSBtZWFucyBhdXRvbWF0aWMgZ2FpbiBtb2RlKQor KyAgICAgKi8KKysgICAgdmlydHVhbCBib29sIGdldF9nYWluX21vZGUoIHNpemVfdCBjaGFuID0g MCApID0gMDsKKysKKysgICAgLyohCisrICAgICAqIFNldCB0aGUgZ2FpbiBmb3IgdGhlIHVuZGVy bHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRvbWF0 aWNhbGx5IGRpc3RyaWJ1dGUgdGhlIGRlc2lyZWQgZ2FpbiB2YWx1ZSBvdmVyCisrICAgICAqIGF2 YWlsYWJsZSBnYWluIHN0YWdlcyBpbiBhbiBhcHByb3ByaWF0ZSB3YXkgYW5kIHJldHVybiB0aGUg YWN0dWFsIHZhbHVlLgorKyAgICAgKiBccGFyYW0gZ2FpbiB0aGUgZ2FpbiBpbiBkQgorKyAgICAg KiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICAgKiBccmV0dXJu IHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorKyAgICAgKi8KKysgICAgdmlydHVhbCBkb3VibGUgc2V0 X2dhaW4oIGRvdWJsZSBnYWluLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8qIQor KyAgICAgKiBTZXQgdGhlIG5hbWVkIGdhaW4gb24gdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdh cmUuCisrICAgICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCisrICAgICAqIFxwYXJhbSBu YW1lIHRoZSBuYW1lIG9mIHRoZSBnYWluIHN0YWdlCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBj aGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGlu IGRCCisrICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfZ2FpbiggZG91YmxlIGdhaW4s CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyAmIG5hbWUs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY2hhbiA9IDAgKSA9IDA7Cisr CisrICAgIC8qIQorKyAgICAgKiBHZXQgdGhlIGFjdHVhbCBnYWluIHNldHRpbmcgb2YgdGhlIHVu ZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVs IGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCisr ICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBnZXRfZ2Fpbiggc2l6ZV90IGNoYW4gPSAwICkg PSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBhY3R1YWwgZ2FpbiBzZXR0aW5nIG9m IGEgbmFtZWQgc3RhZ2UuCisrICAgICAqIFxwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBnYWlu IHN0YWdlCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisr ICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCisrICAgICAqLworKyAgICB2aXJ0 dWFsIGRvdWJsZSBnZXRfZ2FpbiggY29uc3Qgc3RkOjpzdHJpbmcgJiBuYW1lLCBzaXplX3QgY2hh biA9IDAgKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBTZXQgdGhlIElGIGdhaW4gZm9yIHRo ZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorKyAgICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwg YXV0b21hdGljYWxseSBkaXN0cmlidXRlIHRoZSBkZXNpcmVkIGdhaW4gdmFsdWUgb3ZlcgorKyAg ICAgKiBhdmFpbGFibGUgSUYgZ2FpbiBzdGFnZXMgaW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCBy ZXR1cm4gdGhlIGFjdHVhbCB2YWx1ZS4KKysgICAgICogXHBhcmFtIGdhaW4gdGhlIGdhaW4gaW4g ZEIKKysgICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAg ICogXHJldHVybiB0aGUgYWN0dWFsIGdhaW4gaW4gZEIKKysgICAgICovCisrICAgIHZpcnR1YWwg ZG91YmxlIHNldF9pZl9nYWluKCBkb3VibGUgZ2Fpbiwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOwor KworKyAgICAvKiEKKysgICAgICogU2V0IHRoZSBCQiBnYWluIGZvciB0aGUgdW5kZXJseWluZyBy YWRpbyBoYXJkd2FyZS4KKysgICAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkg ZGlzdHJpYnV0ZSB0aGUgZGVzaXJlZCBnYWluIHZhbHVlIG92ZXIKKysgICAgICogYXZhaWxhYmxl IEJCIGdhaW4gc3RhZ2VzIGluIGFuIGFwcHJvcHJpYXRlIHdheSBhbmQgcmV0dXJuIHRoZSBhY3R1 YWwgdmFsdWUuCisrICAgICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCisrICAgICAqIFxw YXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhl IGFjdHVhbCBnYWluIGluIGRCCisrICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfYmJf Z2FpbiggZG91YmxlIGdhaW4sIHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgICAgLyohCisr ICAgICAqIEdldCB0aGUgYXZhaWxhYmxlIGFudGVubmFzIG9mIHRoZSB1bmRlcmx5aW5nIHJhZGlv IGhhcmR3YXJlLgorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4t MQorKyAgICAgKiBccmV0dXJuIGEgdmVjdG9yIG9mIHN0cmluZ3MgY29udGFpbmluZyB0aGUgbmFt ZXMgb2YgYXZhaWxhYmxlIGFudGVubmFzCisrICAgICAqLworKyAgICB2aXJ0dWFsIHN0ZDo6dmVj dG9yPCBzdGQ6OnN0cmluZyA+IGdldF9hbnRlbm5hcyggc2l6ZV90IGNoYW4gPSAwICkgPSAwOwor KworKyAgICAvKiEKKysgICAgICogU2VsZWN0IHRoZSBhY3RpdmUgYW50ZW5uYSBvZiB0aGUgdW5k ZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAgICogXHBhcmFtIGFudGVubmEgbmFtZSBvZiB0 aGUgYW50ZW5uYSB0byBiZSBzZWxlY3RlZAorKyAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5l bCBpbmRleCAwIHRvIE4tMQorKyAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgYW50ZW5uYSdzIG5h bWUKKysgICAgICovCisrICAgIHZpcnR1YWwgc3RkOjpzdHJpbmcgc2V0X2FudGVubmEoIGNvbnN0 IHN0ZDo6c3RyaW5nICYgYW50ZW5uYSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRo ZSBhY3R1YWwgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZSBhbnRlbm5hIHNldHRpbmcuCisrICAg ICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1 cm4gdGhlIGFjdHVhbCBhbnRlbm5hJ3MgbmFtZQorKyAgICAgKi8KKysgICAgdmlydHVhbCBzdGQ6 OnN0cmluZyBnZXRfYW50ZW5uYSggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICBlbnVt IERDT2Zmc2V0TW9kZSB7CisrICAgICAgICBEQ09mZnNldE9mZiA9IDAsCisrICAgICAgICBEQ09m ZnNldE1hbnVhbCwKKysgICAgICAgIERDT2Zmc2V0QXV0b21hdGljCisrICAgIH07CisrCisrICAg IC8qIQorKyAgICAgKiBTZXQgdGhlIFJYIGZyb250ZW5kIERDIGNvcnJlY3Rpb24gbW9kZS4KKysg ICAgICogVGhlIGF1dG9tYXRpYyBjb3JyZWN0aW9uIHN1YnRyYWN0cyBvdXQgdGhlIGxvbmctcnVu IGF2ZXJhZ2UuCisrICAgICAqCisrICAgICAqIFdoZW4gZGlzYWJsZWQsIHRoZSBhdmVyYWdpbmcg b3B0aW9uIG9wZXJhdGlvbiBpcyByZXNldC4KKysgICAgICogT25jZSBpbiBNYW51YWwgbW9kZSwg dGhlIGF2ZXJhZ2UgdmFsdWUgd2lsbCBiZSBoZWxkIGNvbnN0YW50IHVudGlsCisrICAgICAqIHRo ZSB1c2VyIHJlLWVuYWJsZXMgdGhlIGF1dG9tYXRpYyBjb3JyZWN0aW9uIG9yIG92ZXJyaWRlcyB0 aGUKKysgICAgICogdmFsdWUgYnkgbWFudWFsbHkgc2V0dGluZyB0aGUgb2Zmc2V0LgorKyAgICAg KgorKyAgICAgKiBccGFyYW0gbW9kZSBkYyBvZmZzZXQgY29ycmVjdGlvbiBtb2RlOiAwID0gT2Zm LCAxID0gTWFudWFsLCAyID0gQXV0b21hdGljCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFu bmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqLworKyAgICB2aXJ0dWFsIHZvaWQgc2V0X2RjX29m ZnNldF9tb2RlKCBpbnQgbW9kZSwgc2l6ZV90IGNoYW4gPSAwKSA9IDA7CisrCisrICAgIC8qIQor KyAgICAgKiBTZXQgdGhlIFJYIGZyb250ZW5kIERDIG9mZnNldCB2YWx1ZS4KKysgICAgICogVGhl IHZhbHVlIGlzIGNvbXBsZXggdG8gY29udHJvbCBib3RoIEkgYW5kIFEuCisrICAgICAqIE9ubHkg c2V0IHRoaXMgd2hlbiBhdXRvbWF0aWMgY29ycmVjdGlvbiBpcyBkaXNhYmxlZC4KKysgICAgICoK KysgICAgICogXHBhcmFtIG9mZnNldCB0aGUgZGMgb2Zmc2V0ICgxLjAgaXMgZnVsbC1zY2FsZSkK KysgICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAgICov CisrICAgIHZpcnR1YWwgdm9pZCBzZXRfZGNfb2Zmc2V0KCBjb25zdCBzdGQ6OmNvbXBsZXg8ZG91 YmxlPiAmb2Zmc2V0LCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIGVudW0gSVFCYWxh bmNlTW9kZSB7CisrICAgICAgICBJUUJhbGFuY2VPZmYgPSAwLAorKyAgICAgICAgSVFCYWxhbmNl TWFudWFsLAorKyAgICAgICAgSVFCYWxhbmNlQXV0b21hdGljCisrICAgIH07CisrCisrICAgIC8q IQorKyAgICAgKiBTZXQgdGhlIFJYIGZyb250ZW5kIElRIGJhbGFuY2UgbW9kZS4KKysgICAgICoK KysgICAgICogXHBhcmFtIG1vZGUgaXEgYmFsYW5jZSBjb3JyZWN0aW9uIG1vZGU6IDAgPSBPZmYs IDEgPSBNYW51YWwsIDIgPSBBdXRvbWF0aWMKKysgICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5u ZWwgaW5kZXggMCB0byBOLTEKKysgICAgICovCisrICAgIHZpcnR1YWwgdm9pZCBzZXRfaXFfYmFs YW5jZV9tb2RlKCBpbnQgbW9kZSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgICAvKiEK KysgICAgICogU2V0IHRoZSBSWCBmcm9udGVuZCBJUSBiYWxhbmNlIGNvcnJlY3Rpb24uCisrICAg ICAqIFVzZSB0aGlzIHRvIGFkanVzdCB0aGUgbWFnbml0dWRlIGFuZCBwaGFzZSBvZiBJIGFuZCBR LgorKyAgICAgKgorKyAgICAgKiBccGFyYW0gYmFsYW5jZSB0aGUgY29tcGxleCBjb3JyZWN0aW9u IHZhbHVlCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisr ICAgICAqLworKyAgICB2aXJ0dWFsIHZvaWQgc2V0X2lxX2JhbGFuY2UoIGNvbnN0IHN0ZDo6Y29t cGxleDxkb3VibGU+ICZiYWxhbmNlLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8q IQorKyAgICAgKiBTZXQgdGhlIGJhbmRwYXNzIGZpbHRlciBvbiB0aGUgcmFkaW8gZnJvbnRlbmQu CisrICAgICAqIFxwYXJhbSBiYW5kd2lkdGggdGhlIGZpbHRlciBiYW5kd2lkdGggaW4gSHosIHNl dCB0byAwIGZvciBhdXRvbWF0aWMgc2VsZWN0aW9uCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBj aGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBmaWx0ZXIg YmFuZHdpZHRoIGluIEh6CisrICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfYmFuZHdp ZHRoKCBkb3VibGUgYmFuZHdpZHRoLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAgIC8q IQorKyAgICAgKiBHZXQgdGhlIGFjdHVhbCBiYW5kcGFzcyBmaWx0ZXIgc2V0dGluZyBvbiB0aGUg cmFkaW8gZnJvbnRlbmQuCisrICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAg dG8gTi0xCisrICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBmaWx0ZXIgYmFuZHdpZHRoIGluIEh6 CisrICAgICAqLworKyAgICB2aXJ0dWFsIGRvdWJsZSBnZXRfYmFuZHdpZHRoKCBzaXplX3QgY2hh biA9IDAgKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBHZXQgdGhlIHBvc3NpYmxlIGJhbmRw YXNzIGZpbHRlciBzZXR0aW5ncyBvbiB0aGUgcmFkaW8gZnJvbnRlbmQuCisrICAgICAqIFxwYXJh bSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgICAqIFxyZXR1cm4gYSByYW5n ZSBvZiBiYW5kd2lkdGhzIGluIEh6CisrICAgICAqLworKyAgICB2aXJ0dWFsIG9zbW9zZHI6OmZy ZXFfcmFuZ2VfdCBnZXRfYmFuZHdpZHRoX3JhbmdlKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7Cisr CisrICAgIC8qIQorKyAgICAgKiBTZXQgdGhlIHRpbWUgc291cmNlIGZvciB0aGUgZGV2aWNlLgor KyAgICAgKiBUaGlzIHNldHMgdGhlIG1ldGhvZCBvZiB0aW1lIHN5bmNocm9uaXphdGlvbiwKKysg ICAgICogdHlwaWNhbGx5IGEgcHVsc2UgcGVyIHNlY29uZCBvciBhbiBlbmNvZGVkIHRpbWUuCisr ICAgICAqIFR5cGljYWwgb3B0aW9ucyBmb3Igc291cmNlOiBleHRlcm5hbCwgTUlNTy4KKysgICAg ICogXHBhcmFtIHNvdXJjZSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHRpbWUgc291cmNlCisr ICAgICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gc2V0IHRoZSBjb25maWcK KysgICAgICovCisrICAgIHZpcnR1YWwgdm9pZCBzZXRfdGltZV9zb3VyY2UoY29uc3Qgc3RkOjpz dHJpbmcgJnNvdXJjZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz aXplX3QgbWJvYXJkID0gMCkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBjdXJy ZW50bHkgc2V0IHRpbWUgc291cmNlLgorKyAgICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1vdGhl cmJvYXJkIHRvIGdldCB0aGUgY29uZmlnCisrICAgICAqIFxyZXR1cm4gdGhlIHN0cmluZyByZXBy ZXNlbnRpbmcgdGhlIHRpbWUgc291cmNlCisrICAgICAqLworKyAgICB2aXJ0dWFsIHN0ZDo6c3Ry aW5nIGdldF90aW1lX3NvdXJjZShjb25zdCBzaXplX3QgbWJvYXJkKSA9IDA7CisrCisrICAgIC8q IQorKyAgICAgKiBHZXQgYSBsaXN0IG9mIHBvc3NpYmxlIHRpbWUgc291cmNlcy4KKysgICAgICog XHBhcmFtIG1ib2FyZCB3aGljaCBtb3RoZXJib2FyZCB0byBnZXQgdGhlIGxpc3QKKysgICAgICog XHJldHVybiBhIHZlY3RvciBvZiBzdHJpbmdzIGZvciBwb3NzaWJsZSBzZXR0aW5ncworKyAgICAg Ki8KKysgICAgdmlydHVhbCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gZ2V0X3RpbWVfc291cmNl cyhjb25zdCBzaXplX3QgbWJvYXJkKSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBTZXQgdGhl IGNsb2NrIHNvdXJjZSBmb3IgdGhlIGRldmljZS4KKysgICAgICogVGhpcyBzZXRzIHRoZSBzb3Vy Y2UgZm9yIGEgMTAgTWh6IHJlZmVyZW5jZSBjbG9jay4KKysgICAgICogVHlwaWNhbCBvcHRpb25z IGZvciBzb3VyY2U6IGludGVybmFsLCBleHRlcm5hbCwgTUlNTy4KKysgICAgICogXHBhcmFtIHNv dXJjZSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGNsb2NrIHNvdXJjZQorKyAgICAgKiBccGFy YW0gbWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJkIHRvIHNldCB0aGUgY29uZmlnCisrICAgICAqLwor KyAgICB2aXJ0dWFsIHZvaWQgc2V0X2Nsb2NrX3NvdXJjZShjb25zdCBzdGQ6OnN0cmluZyAmc291 cmNlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaXplX3QgbWJv YXJkID0gMCkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSBjdXJyZW50bHkgc2V0 IGNsb2NrIHNvdXJjZS4KKysgICAgICogXHBhcmFtIG1ib2FyZCB3aGljaCBtb3RoZXJib2FyZCB0 byBnZXQgdGhlIGNvbmZpZworKyAgICAgKiBccmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50aW5n IHRoZSBjbG9jayBzb3VyY2UKKysgICAgICovCisrICAgIHZpcnR1YWwgc3RkOjpzdHJpbmcgZ2V0 X2Nsb2NrX3NvdXJjZShjb25zdCBzaXplX3QgbWJvYXJkKSA9IDA7CisrCisrICAgIC8qIQorKyAg ICAgKiBHZXQgYSBsaXN0IG9mIHBvc3NpYmxlIGNsb2NrIHNvdXJjZXMuCisrICAgICAqIFxwYXJh bSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBsaXN0CisrICAgICAqIFxyZXR1 cm4gYSB2ZWN0b3Igb2Ygc3RyaW5ncyBmb3IgcG9zc2libGUgc2V0dGluZ3MKKysgICAgICovCisr ICAgIHZpcnR1YWwgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGdldF9jbG9ja19zb3VyY2VzKGNv bnN0IHNpemVfdCBtYm9hcmQpID0gMDsKKysKKysgICAgLyohCisrICAgICAqIEdldCB0aGUgbWFz dGVyIGNsb2NrIHJhdGUuCisrICAgICAqIFxwYXJhbSBtYm9hcmQgdGhlIG1vdGhlcmJvYXJkIGlu ZGV4IDAgdG8gTS0xCisrICAgICAqIFxyZXR1cm4gdGhlIGNsb2NrIHJhdGUgaW4gSHoKKysgICAg ICovCisrICAgIHZpcnR1YWwgZG91YmxlIGdldF9jbG9ja19yYXRlKHNpemVfdCBtYm9hcmQgPSAw KSA9IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBTZXQgdGhlIG1hc3RlciBjbG9jayByYXRlLgor KyAgICAgKiBccGFyYW0gcmF0ZSB0aGUgbmV3IHJhdGUgaW4gSHoKKysgICAgICogXHBhcmFtIG1i b2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKysgICAgICovCisrICAgIHZpcnR1 YWwgdm9pZCBzZXRfY2xvY2tfcmF0ZShkb3VibGUgcmF0ZSwgc2l6ZV90IG1ib2FyZCA9IDApID0g MDsKKysKKysgICAgLyohCisrICAgICAqIEdldCB0aGUgY3VycmVudCB0aW1lIHJlZ2lzdGVycy4K KysgICAgICogXHBhcmFtIG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKysg ICAgICogXHJldHVybiB0aGUgY3VycmVudCBkZXZpY2UgdGltZQorKyAgICAgKi8KKysgICAgdmly dHVhbCA6Om9zbW9zZHI6OnRpbWVfc3BlY190IGdldF90aW1lX25vdyhzaXplX3QgbWJvYXJkID0g MCkgPSAwOworKworKyAgICAvKiEKKysgICAgICogR2V0IHRoZSB0aW1lIHdoZW4gdGhlIGxhc3Qg cHBzIHB1bHNlIG9jY3VyZWQuCisrICAgICAqIFxwYXJhbSBtYm9hcmQgdGhlIG1vdGhlcmJvYXJk IGluZGV4IDAgdG8gTS0xCisrICAgICAqIFxyZXR1cm4gdGhlIGN1cnJlbnQgZGV2aWNlIHRpbWUK KysgICAgICovCisrICAgIHZpcnR1YWwgOjpvc21vc2RyOjp0aW1lX3NwZWNfdCBnZXRfdGltZV9s YXN0X3BwcyhzaXplX3QgbWJvYXJkID0gMCkgPSAwOworKworKyAgICAvKiEKKysgICAgICogU2V0 cyB0aGUgdGltZSByZWdpc3RlcnMgaW1tZWRpYXRlbHkuCisrICAgICAqIFxwYXJhbSB0aW1lX3Nw ZWMgdGhlIG5ldyB0aW1lCisrICAgICAqIFxwYXJhbSBtYm9hcmQgdGhlIG1vdGhlcmJvYXJkIGlu ZGV4IDAgdG8gTS0xCisrICAgICAqLworKyAgICB2aXJ0dWFsIHZvaWQgc2V0X3RpbWVfbm93KGNv bnN0IDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgJnRpbWVfc3BlYywKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplX3QgbWJvYXJkID0gMCkgPSAwOworKworKyAgICAvKiEKKysgICAg ICogU2V0IHRoZSB0aW1lIHJlZ2lzdGVycyBhdCB0aGUgbmV4dCBwcHMuCisrICAgICAqIFxwYXJh bSB0aW1lX3NwZWMgdGhlIG5ldyB0aW1lCisrICAgICAqLworKyAgICB2aXJ0dWFsIHZvaWQgc2V0 X3RpbWVfbmV4dF9wcHMoY29uc3QgOjpvc21vc2RyOjp0aW1lX3NwZWNfdCAmdGltZV9zcGVjKSA9 IDA7CisrCisrICAgIC8qIQorKyAgICAgKiBTeW5jIHRoZSB0aW1lIHJlZ2lzdGVycyB3aXRoIGFu IHVua25vd24gcHBzIGVkZ2UuCisrICAgICAqIFxwYXJhbSB0aW1lX3NwZWMgdGhlIG5ldyB0aW1l CisrICAgICAqLworKyAgICB2aXJ0dWFsIHZvaWQgc2V0X3RpbWVfdW5rbm93bl9wcHMoY29uc3Qg Ojpvc21vc2RyOjp0aW1lX3NwZWNfdCAmdGltZV9zcGVjKSA9IDA7CisgfTsKKyAKKy19IC8qIG5h bWVzcGFjZSBvc21vc2RyICovCisrfSAvLyBuYW1lc3BhY2Ugb3Ntb3NkcgorIAorICNlbmRpZiAv KiBJTkNMVURFRF9PU01PU0RSX1NPVVJDRV9IICovCisrCitkaWZmIC0tZ2l0IGEvbGliL0NNYWtl TGlzdHMudHh0IGIvbGliL0NNYWtlTGlzdHMudHh0CitpbmRleCBkYmIxNzVhLi5kMDVkYTMyIDEw MDY0NAorLS0tIGxpYi9DTWFrZUxpc3RzLnR4dAorKysrIGxpYi9DTWFrZUxpc3RzLnR4dAorQEAg LTIxLDYgKzIxLDcgQEAKKyAjIFNldHVwIGxpYnJhcnkKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyBJTkNM VURFKEdyUGxhdGZvcm0pICNkZWZpbmUgTElCX1NVRkZJWAorK0lOQ0xVREUoT3Ntb1NEUk1pc2NV dGlscykKKyBJTkNMVURFKEdyTWlzY1V0aWxzKQorIElOQ0xVREUoR3JDb21wb25lbnQpCisgCitA QCAtMTE4LDExICsxMTksMTEgQEAgU0VUX1NPVVJDRV9GSUxFU19QUk9QRVJUSUVTKAorICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworICMgU2V0dXAgSVFCYWxhbmNlIGNvbXBvbmVudAorICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworLUdSX1JFR0lTVEVSX0NPTVBPTkVOVCgiT3Ntb2NvbSBJUSBJbWJhbGFuY2UgQ29ycmVjdGlv biIgRU5BQkxFX0lRQkFMQU5DRSBHTlVSQURJT19JUUJBTEFOQ0VfRk9VTkQpCisrR1JfUkVHSVNU RVJfQ09NUE9ORU5UKCJPc21vY29tIElRIEltYmFsYW5jZSBDb3JyZWN0aW9uIiBFTkFCTEVfSVFC QUxBTkNFIGdudXJhZGlvLWlxYmFsYW5jZV9GT1VORCkKKyBpZihFTkFCTEVfSVFCQUxBTkNFKQor IGFkZF9kZWZpbml0aW9ucygtREhBVkVfSVFCQUxBTkNFPTEpCistaW5jbHVkZV9kaXJlY3Rvcmll cygke0dOVVJBRElPX0lRQkFMQU5DRV9JTkNMVURFX0RJUlN9KQorLUdSX09TTU9TRFJfQVBQRU5E X0xJQlMoJHtHTlVSQURJT19JUUJBTEFOQ0VfTElCUkFSSUVTfSkKKytpbmNsdWRlX2RpcmVjdG9y aWVzKCR7SVFCQUxBTkNFX0lOQ0xVREVfRElSU30pCisrR1JfT1NNT1NEUl9BUFBFTkRfTElCUygk e0lRQkFMQU5DRV9MSUJSQVJJRVN9KQorIGVuZGlmKEVOQUJMRV9JUUJBTEFOQ0UpCisgCisgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCitAQCAtMTMzLDI1ICsxMzQsMTAgQEAgaWYoRU5BQkxFX09TTU9TRFIpCisg R1JfSU5DTFVERV9TVUJESVJFQ1RPUlkob3Ntb3NkcikKKyBlbmRpZihFTkFCTEVfT1NNT1NEUikK KyAKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIFNldHVwIEZDRCBjb21wb25lbnQKKy0jIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKy1HUl9SRUdJU1RFUl9DT01QT05FTlQoIkZVTmN1YmUgRG9uZ2xlIiBFTkFCTEVfRkNE IEdOVVJBRElPX0ZDRF9GT1VORCkKKy1HUl9SRUdJU1RFUl9DT01QT05FTlQoIkZVTmN1YmUgRG9u Z2xlIFBybysiIEVOQUJMRV9GQ0RQUCBHTlVSQURJT19GQ0RQUF9GT1VORCkKKy1pZihFTkFCTEVf RkNEKQorLWFkZF9kZWZpbml0aW9ucygtREhBVkVfRkNEPTEpCistZW5kaWYoRU5BQkxFX0ZDRCkK Ky1pZihFTkFCTEVfRkNEUFApCistYWRkX2RlZmluaXRpb25zKC1ESEFWRV9GQ0RQUD0xKQorLWVu ZGlmKEVOQUJMRV9GQ0RQUCkKKy1pZihFTkFCTEVfRkNEIE9SIEVOQUJMRV9GQ0RQUCkKKy1HUl9J TkNMVURFX1NVQkRJUkVDVE9SWShmY2QpCistZW5kaWYoRU5BQkxFX0ZDRCBPUiBFTkFCTEVfRkNE UFApCistCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBTZXR1cCBGaWxlIGNvbXBvbmVudAorICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworLUdSX1JFR0lTVEVSX0NPTVBPTkVOVCgiSVEgRmlsZSBTb3VyY2UgJiBTaW5r IiBFTkFCTEVfRklMRSBHTlVSQURJT19CTE9DS1NfRk9VTkQpCisrR1JfUkVHSVNURVJfQ09NUE9O RU5UKCJJUSBGaWxlIFNvdXJjZSAmIFNpbmsiIEVOQUJMRV9GSUxFIGdudXJhZGlvLWJsb2Nrc19G T1VORCkKKyBpZihFTkFCTEVfRklMRSkKKyBHUl9JTkNMVURFX1NVQkRJUkVDVE9SWShmaWxlKQor IGVuZGlmKEVOQUJMRV9GSUxFKQorQEAgLTE2Nyw3ICsxNTMsNyBAQCBlbmRpZihFTkFCTEVfUlRM KQorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworICMgU2V0dXAgUlRMX1RDUCBjb21wb25lbnQKKyAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKy1HUl9SRUdJU1RFUl9DT01QT05FTlQoIlJUTFNEUiBUQ1AgQ2xpZW50IiBFTkFC TEVfUlRMX1RDUCBHTlVSQURJT19CTE9DS1NfRk9VTkQpCisrR1JfUkVHSVNURVJfQ09NUE9ORU5U KCJSVExTRFIgVENQIENsaWVudCIgRU5BQkxFX1JUTF9UQ1AgZ251cmFkaW8tYmxvY2tzX0ZPVU5E KQorIGlmKEVOQUJMRV9SVExfVENQKQorIEdSX0lOQ0xVREVfU1VCRElSRUNUT1JZKHJ0bF90Y3Ap CisgZW5kaWYoRU5BQkxFX1JUTF9UQ1ApCitAQCAtMTc1LDcgKzE2MSw3IEBAIGVuZGlmKEVOQUJM RV9SVExfVENQKQorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgU2V0dXAgVUhEIGNvbXBvbmVudAorICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworLUdSX1JFR0lTVEVSX0NPTVBPTkVOVCgiRXR0dXMgVVNSUCBEZXZpY2Vz IiBFTkFCTEVfVUhEIFVIRF9GT1VORCBHTlVSQURJT19VSERfRk9VTkQpCisrR1JfUkVHSVNURVJf Q09NUE9ORU5UKCJFdHR1cyBVU1JQIERldmljZXMiIEVOQUJMRV9VSEQgVUhEX0ZPVU5EIGdudXJh ZGlvLXVoZF9GT1VORCkKKyBpZihFTkFCTEVfVUhEKQorIEdSX0lOQ0xVREVfU1VCRElSRUNUT1JZ KHVoZCkKKyBlbmRpZihFTkFCTEVfVUhEKQorQEAgLTI4NCw0ICsyNzAsNCBAQCBFTkRJRihNU1ZD KQorIEFERF9MSUJSQVJZKGdudXJhZGlvLW9zbW9zZHIgU0hBUkVEICR7Z3Jfb3Ntb3Nkcl9zcmNz fSkKKyBUQVJHRVRfTElOS19MSUJSQVJJRVMoZ251cmFkaW8tb3Ntb3NkciAke2dyX29zbW9zZHJf bGlic30pCisgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGdudXJhZGlvLW9zbW9zZHIgUFJPUEVSVElF UyBERUZJTkVfU1lNQk9MICJnbnVyYWRpb19vc21vc2RyX0VYUE9SVFMiKQorLUdSX0xJQlJBUllf Rk9PKGdudXJhZGlvLW9zbW9zZHIpCisrR1JfTElCUkFSWV9GT09fVjIoZ251cmFkaW8tb3Ntb3Nk cikKK2RpZmYgLS1naXQgYS9weXRob24vQ01ha2VMaXN0cy50eHQgYi9weXRob24vQ01ha2VMaXN0 cy50eHQKK2luZGV4IDg4NDFmMzYuLjg4M2YxMTkgMTAwNjQ0CistLS0gcHl0aG9uL0NNYWtlTGlz dHMudHh0CisrKysgcHl0aG9uL0NNYWtlTGlzdHMudHh0CitAQCAtMSw2ICsxLDcgQEAKKyAjIENv cHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICMKKy0jIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworKyMgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkg Z3JfbW9kdG9vbCwgYSB0b29sIGZyb20gdGhlIEdOVSBSYWRpbyBmcmFtZXdvcmsKKysjIFRoaXMg ZmlsZSBpcyBhIHBhcnQgb2YgZ3Itb3Ntb3NkcgorICMKKyAjIEdOVSBSYWRpbyBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorZGlmZiAtLWdpdCBhL3B5dGhvbi9fX2luaXRfXy5weSBiL3B5dGhvbi9fX2luaXRfXy5w eQoraW5kZXggYzczMTBlMS4uYmM4MjQwZiAxMDA2NDQKKy0tLSBweXRob24vX19pbml0X18ucHkK KysrKyBweXRob24vX19pbml0X18ucHkKK0BAIC0xOSwxMSArMTksMTcgQEAKKyAjIFRoZSBwcmVz ZW5jZSBvZiB0aGlzIGZpbGUgdHVybnMgdGhpcyBkaXJlY3RvcnkgaW50byBhIFB5dGhvbiBwYWNr YWdlCisgCisgJycnCistVGhpcyBpcyB0aGUgR05VIFJhZGlvIE9zbW9TRFIgbW9kdWxlLgorK1Ro aXMgaXMgdGhlIEdOVSBSYWRpbyBPU01PU0RSIG1vZHVsZS4gUGxhY2UgeW91ciBQeXRob24gcGFj a2FnZQorK2Rlc2NyaXB0aW9uIGhlcmUgKHB5dGhvbi9fX2luaXRfXy5weSkuCisgJycnCisrZnJv bSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisgCisgIyBpbXBvcnQgc3dpZyBn ZW5lcmF0ZWQgc3ltYm9scyBpbnRvIHRoZSBvc21vc2RyIG5hbWVzcGFjZQorLWZyb20gb3Ntb3Nk cl9zd2lnIGltcG9ydCAqCisrdHJ5OgorKyAgICAjIHRoaXMgbWlnaHQgZmFpbCBpZiB0aGUgbW9k dWxlIGlzIHB5dGhvbi1vbmx5CisrICAgIGZyb20gLm9zbW9zZHJfc3dpZyBpbXBvcnQgKgorK2V4 Y2VwdCBJbXBvcnRFcnJvcjoKKysgICAgcGFzcworIAorICMgaW1wb3J0IGFueSBwdXJlIHB5dGhv biBoZXJlCisgIworZGlmZiAtLWdpdCBhL3N3aWcvQ01ha2VMaXN0cy50eHQgYi9zd2lnL0NNYWtl TGlzdHMudHh0CitpbmRleCAzOTQ5MzIyLi5hYWJjNTU1IDEwMDY0NAorLS0tIHN3aWcvQ01ha2VM aXN0cy50eHQKKysrKyBzd2lnL0NNYWtlTGlzdHMudHh0CitAQCAtMSw2ICsxLDcgQEAKKyAjIENv cHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICMKKy0jIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworKyMgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkg Z3JfbW9kdG9vbCwgYSB0b29sIGZyb20gdGhlIEdOVSBSYWRpbyBmcmFtZXdvcmsKKysjIFRoaXMg ZmlsZSBpcyBhIHBhcnQgb2YgZ3Itb3Ntb3NkcgorICMKKyAjIEdOVSBSYWRpbyBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorQEAgLTE3LDExICsxOCwxOSBAQAorICMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LAorICMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV U0EuCisgCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyBDaGVjayBpZiB0aGVyZSBpcyBDKysgY29kZSBh dCBhbGwKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKytpZihOT1Qgb3Ntb3Nkcl9zb3VyY2VzKQorKyAgICBN RVNTQUdFKFNUQVRVUyAiTm8gQysrIHNvdXJjZXMuLi4gc2tpcHBpbmcgc3dpZy8iKQorKyAgICBy ZXR1cm4oKQorK2VuZGlmKE5PVCBvc21vc2RyX3NvdXJjZXMpCisrCisgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisgIyBJbmNsdWRlIHN3aWcgZ2VuZXJhdGlvbiBtYWNyb3MKKyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyBm aW5kX3BhY2thZ2UoU1dJRykKKy1maW5kX3BhY2thZ2UoUHl0aG9uTGlicyAyKQorK2ZpbmRfcGFj a2FnZShQeXRob25MaWJzKQorIGlmKE5PVCBTV0lHX0ZPVU5EIE9SIE5PVCBQWVRIT05MSUJTX0ZP VU5EKQorICAgICByZXR1cm4oKQorIGVuZGlmKCkKK0BAIC0zMSwxMSArNDAsMTEgQEAgaW5jbHVk ZShHclB5dGhvbikKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIFNldHVwIHN3aWcgZ2VuZXJhdGlvbgor ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworLWZvcmVhY2goaW5jZGlyICR7R05VUkFESU9fQUxMX0lOQ0xVREVf RElSU30pCistICAgIGxpc3QoQVBQRU5EIEdSX1NXSUdfSU5DTFVERV9ESVJTICR7aW5jZGlyfS9n bnVyYWRpby9zd2lnKQorLWVuZGZvcmVhY2goaW5jZGlyKQorK3NldChHUl9TV0lHX0lOQ0xVREVf RElSUyAkPFRBUkdFVF9QUk9QRVJUWTpnbnVyYWRpbzo6cnVudGltZV9zd2lnLElOVEVSRkFDRV9J TkNMVURFX0RJUkVDVE9SSUVTPikKKytzZXQoR1JfU1dJR19UQVJHRVRfREVQUyBnbnVyYWRpbzo6 cnVudGltZV9zd2lnKQorIAorIHNldChHUl9TV0lHX0xJQlJBUklFUyBnbnVyYWRpby1vc21vc2Ry KQorKworIHNldChHUl9TV0lHX0RPQ19GSUxFICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9v c21vc2RyX3N3aWdfZG9jLmkpCisgc2V0KEdSX1NXSUdfRE9DX0RJUlMgJHtDTUFLRV9DVVJSRU5U X1NPVVJDRV9ESVJ9Ly4uL2luY2x1ZGUpCisgCitkaWZmIC0tZ2l0IGEvc3dpZy9vc21vc2RyX3N3 aWcuaSBiL3N3aWcvb3Ntb3Nkcl9zd2lnLmkKK2luZGV4IDU1MDAwOGIuLjVlMzhjMGEgMTAwNjQ0 CistLS0gc3dpZy9vc21vc2RyX3N3aWcuaQorKysrIHN3aWcvb3Ntb3Nkcl9zd2lnLmkKK0BAIC0y LDgxICsyLDE3IEBACisgCisgI2RlZmluZSBPU01PU0RSX0FQSQorIAorLS8vIHN1cHByZXNzIFdh cm5pbmcgMzE5OiBObyBhY2Nlc3Mgc3BlY2lmaWVyIGdpdmVuIGZvciBiYXNlIGNsYXNzICdib29z dDo6bm9uY29weWFibGUnIChpZ25vcmVkKS4KKy0jcHJhZ21hIFNXSUcgbm93YXJuPTMxOQorLQor LSVpbmNsdWRlICJnbnVyYWRpby5pIgkJCS8vIHRoZSBjb21tb24gc3R1ZmYKKyslaW5jbHVkZSAi Z251cmFkaW8uaSIgICAgICAgICAgIC8vIHRoZSBjb21tb24gc3R1ZmYKKyAKKyAvL2xvYWQgZ2Vu ZXJhdGVkIHB5dGhvbiBkb2NzdHJpbmdzCisgJWluY2x1ZGUgIm9zbW9zZHJfc3dpZ19kb2MuaSIK KyAKKyAleworLSNpbmNsdWRlICJvc21vc2RyL2RldmljZS5oIgorICNpbmNsdWRlICJvc21vc2Ry L3NvdXJjZS5oIgorICNpbmNsdWRlICJvc21vc2RyL3NpbmsuaCIKKyAlfQorIAorLS8vIFdvcmth cm91bmQgZm9yIGEgU1dJRyAyLjAuNCBidWcgd2l0aCB0ZW1wbGF0ZXMuIFByb2JhYmx5IG5lZWRz IHRvIGJlIGxvb2tlZCBpbiB0by4KKy0leworLSNpZiBQWV9WRVJTSU9OX0hFWCA+PSAweDAzMDIw MDAwCistIyBkZWZpbmUgU1dJR1BZX1NMSUNFX0FSRyhvYmopICgoUHlPYmplY3QqKSAob2JqKSkK Ky0jZWxzZQorLSMgZGVmaW5lIFNXSUdQWV9TTElDRV9BUkcob2JqKSAoKFB5U2xpY2VPYmplY3Qq KSAob2JqKSkKKy0jZW5kaWYKKy0lfQorLQorLSV0ZW1wbGF0ZShzdHJpbmdfdmVjdG9yX3QpIHN0 ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPjsKKy0KKy0vLyV0ZW1wbGF0ZShzaXplX3ZlY3Rvcl90KSBz dGQ6OnZlY3RvcjxzaXplX3Q+OworLQorLSVpbmNsdWRlIDxvc21vc2RyL3BpbXBsLmg+CistCist JWlnbm9yZSBvc21vc2RyOjpkZXZpY2VfdDo6b3BlcmF0b3JbXTsgLy9pZ25vcmUgd2FybmluZ3Mg YWJvdXQgJWV4dGVuZAorLQorLSV0ZW1wbGF0ZShzdHJpbmdfc3RyaW5nX2RpY3RfdCkgc3RkOjpt YXA8c3RkOjpzdHJpbmcsIHN0ZDo6c3RyaW5nPjsgLy9kZWZpbmUgYmVmb3JlIGRldmljZQorLSV0 ZW1wbGF0ZShkZXZpY2VzX3QpIHN0ZDo6dmVjdG9yPG9zbW9zZHI6OmRldmljZV90PjsKKy0laW5j bHVkZSA8b3Ntb3Nkci9kZXZpY2UuaD4KKy0KKy0vLyVleHRlbmQgc3RkOjptYXA8c3RkOjpzdHJp bmcsIHN0ZDo6c3RyaW5nPnsKKy0vLyAgICBzdGQ6OnN0cmluZyBfX2dldGl0ZW1fXyhzdGQ6OnN0 cmluZyBrZXkpIHtyZXR1cm4gKCpzZWxmKVtrZXldO30KKy0vLyAgICB2b2lkIF9fc2V0aXRlbV9f KHN0ZDo6c3RyaW5nIGtleSwgc3RkOjpzdHJpbmcgdmFsKSB7KCpzZWxmKVtrZXldID0gdmFsO30K Ky0vL307CistCistJXRlbXBsYXRlKHJhbmdlX3ZlY3Rvcl90KSBzdGQ6OnZlY3Rvcjxvc21vc2Ry OjpyYW5nZV90PjsgLy9kZWZpbmUgYmVmb3JlIHJhbmdlCistJWluY2x1ZGUgPG9zbW9zZHIvcmFu Z2VzLmg+CistCistJWluY2x1ZGUgPG9zbW9zZHIvdGltZV9zcGVjLmg+CistCistJWV4dGVuZCBv c21vc2RyOjp0aW1lX3NwZWNfdHsKKy0gICAgb3Ntb3Nkcjo6dGltZV9zcGVjX3QgX19hZGRfXyhj b25zdCBvc21vc2RyOjp0aW1lX3NwZWNfdCAmd2hhdCkKKy0gICAgeworLSAgICAgICAgb3Ntb3Nk cjo6dGltZV9zcGVjX3QgdGVtcCA9ICpzZWxmOworLSAgICAgICAgdGVtcCArPSB3aGF0OworLSAg ICAgICAgcmV0dXJuIHRlbXA7CistICAgIH0KKy0gICAgb3Ntb3Nkcjo6dGltZV9zcGVjX3QgX19z dWJfXyhjb25zdCBvc21vc2RyOjp0aW1lX3NwZWNfdCAmd2hhdCkKKy0gICAgeworLSAgICAgICAg b3Ntb3Nkcjo6dGltZV9zcGVjX3QgdGVtcCA9ICpzZWxmOworLSAgICAgICAgdGVtcCAtPSB3aGF0 OworLSAgICAgICAgcmV0dXJuIHRlbXA7CistICAgIH0KKy19OworLQorLSVkZWZpbmUgT1NNT1NE Ul9TV0lHX0JMT0NLX01BR0lDMihQS0csIEJBU0VfTkFNRSkKKy0ldGVtcGxhdGUoQkFTRV9OQU1F ICMjIF9zcHRyKSBib29zdDo6c2hhcmVkX3B0cjxQS0cgIyMgOjogIyMgQkFTRV9OQU1FPjsKKy0l cHl0aG9uY29kZSAleworLUJBU0VfTkFNRSAjIyBfc3B0ci5fX3JlcHJfXyA9IGxhbWJkYSBzZWxm OiAiPGdyX2Jsb2NrICVzICglZCk+IiAlIChzZWxmLm5hbWUoKSwgc2VsZi51bmlxdWVfaWQoKSkK Ky1CQVNFX05BTUUgPSBCQVNFX05BTUUubWFrZTsKKy0lfQorLSVlbmRkZWYKKy0KKyAlaW5jbHVk ZSAib3Ntb3Nkci9zb3VyY2UuaCIKKytHUl9TV0lHX0JMT0NLX01BR0lDMihvc21vc2RyLCBzb3Vy Y2UpOworICVpbmNsdWRlICJvc21vc2RyL3NpbmsuaCIKKy0KKy1PU01PU0RSX1NXSUdfQkxPQ0tf TUFHSUMyKG9zbW9zZHIsc291cmNlKTsKKy1PU01PU0RSX1NXSUdfQkxPQ0tfTUFHSUMyKG9zbW9z ZHIsc2luayk7CistCistJXsKKy1zdGF0aWMgY29uc3Qgc2l6ZV90IEFMTF9NQk9BUkRTID0gb3Nt b3Nkcjo6QUxMX01CT0FSRFM7CistJX0KKy0vL3N0YXRpYyBjb25zdCBzaXplX3QgQUxMX01CT0FS RFM7CisrR1JfU1dJR19CTE9DS19NQUdJQzIob3Ntb3Nkciwgc2luayk7CistLSAKKzIuMjAuMQor CitGcm9tIDhhNGEzYTc2ZWQ2ZDFiNTJkNDFkZDk5NjZiOTg1ZTY4ZTliMDViM2UgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/TWlja2V5PTIwVj1DMz1BNG5zaz1DMz1B ND89IDxtdmFlbnNrYWVAZ21haWwuY29tPgorRGF0ZTogV2VkLCAzIEFwciAyMDE5IDIwOjU3OjUy ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi83XSBZTUwgZmlsZXMgZ2VuZXJlcmF0ZWQgeWV0IGJs b2NrcyBub3Qgc2hvd2luZyB1cC4KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK KworU2lnbmVkLW9mZi1ieTogTWlja2V5IFbDpG5za8OkIDxtdmFlbnNrYWVAZ21haWwuY29tPgor LS0tCisgUkVBRE1FICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQorIGdyYy9nZW5fb3Ntb3Nk cl9ibG9ja3MucHkgfCA4NDEgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAyIGZpbGVzIGNoYW5nZWQsIDM3OCBpbnNlcnRpb25zKCspLCA0NjcgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9SRUFETUUgYi9SRUFETUUKK2luZGV4IDY3ZmE0NzUuLjE5MzY1NmYgMTAw NjQ0CistLS0gUkVBRE1FCisrKysgUkVBRE1FCitAQCAtMSw4ICsxLDYgQEAKKyBXaGlsZSBwcmlt YXJpbHkgYmVpbmcgZGV2ZWxvcGVkIGZvciB0aGUgT3Ntb1NEUiBoYXJkd2FyZSwgdGhpcyBibG9j aworIGFzIHdlbGwgc3VwcG9ydHM6CisgCistICogRlVOY3ViZSBEb25nbGUgdGhyb3VnaCBsaWJn bnVyYWRpby1mY2QKKy0gKiBGVU5jdWJlIERvbmdsZSBQcm8rIHRocm91Z2ggZ3ItZmNkcHJvcGx1 cworICAqIHN5c21vY29tIE9zbW9TRFIgRGV2aWNlcyB0aHJvdWdoIGxpYm9zbW9zZHIKKyAgKiBS VEwyODMyVSBiYXNlZCBEVkItVCBkb25nbGVzIHRocm91Z2ggbGlicnRsc2RyCisgICogUlRMLVRD UCBzcGVjdHJ1bSBzZXJ2ZXIgKHNlZSBsaWJydGxzZHIgcHJvamVjdCkKK0BAIC0yMiw3ICsyMCw3 IEBAIGFzIHdlbGwgc3VwcG9ydHM6CisgQnkgdXNpbmcgdGhlIE9zbW9TRFIgYmxvY2sgeW91IGNh biB0YWtlIGFkdmFudGFnZSBvZiBhIGNvbW1vbiBzb2Z0d2FyZSBhcGkgaW4KKyB5b3VyIGFwcGxp Y2F0aW9uKHMpIGluZGVwZW5kZW50IG9mIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgor IAorLUZvciBpbnN0YWxsYXRpb24gYW5kIHVzYWdlIGd1aWRlbGluZXMgcGxlYXNlIHJlYWQgdGhl IGRvY3VtZW50YXRpb24gYXZhaWxhYmxlCisrRnRvciBpbnN0YWxsYXRpb24gYW5kIHVzYWdlIGd1 aWRlbGluZXMgcGxlYXNlIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gYXZhaWxhYmxlCisgYXQgaHR0 cDovL3Nkci5vc21vY29tLm9yZy90cmFjL3dpa2kvR3JPc21vU0RSCisgCisgRm9yIHRoZSBpbXBh dGllbnQgOikgYSBzaG9ydCBleGNlcnB0OgorZGlmZiAtLWdpdCBhL2dyYy9nZW5fb3Ntb3Nkcl9i bG9ja3MucHkgYi9ncmMvZ2VuX29zbW9zZHJfYmxvY2tzLnB5CitpbmRleCA5YmVmN2I4Li44Zjcy NDRkIDEwMDY0NAorLS0tIGdyYy9nZW5fb3Ntb3Nkcl9ibG9ja3MucHkKKysrKyBncmMvZ2VuX29z bW9zZHJfYmxvY2tzLnB5CitAQCAtMTksNDc4ICsxOSwzOTEgQEAgRm91bmRhdGlvbiwgSW5jLiwg NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwg VVNBCisgIiIiCisgCisgTUFJTl9UTVBMID0gIiIiXAorLTw/eG1sIHZlcnNpb249IjEuMCI/Pgor LTxibG9jaz4KKy0gIDxuYW1lPiQodGl0bGUpICRzb3Vyay50aXRsZSgpPC9uYW1lPgorLSAgPGtl eT4kKHByZWZpeClfJChzb3Vyayk8L2tleT4KKy0gIDxjYXRlZ29yeT4kKCRzb3Vyay50aXRsZSgp KXM8L2NhdGVnb3J5PgorLSAgPHRocm90dGxlPjE8L3Rocm90dGxlPgorLSAgPGltcG9ydD5pbXBv cnQgb3Ntb3NkcjwvaW1wb3J0PgorLSAgPGltcG9ydD5pbXBvcnQgdGltZTwvaW1wb3J0PgorLSAg PG1ha2U+b3Ntb3Nkci4kKHNvdXJrKSggYXJncz0ibnVtY2hhbj0iICsgc3RyKFwkbmNoYW4pICsg IiAiICsgXCRhcmdzICkKKy0jZm9yICRtIGluIHJhbmdlKCRtYXhfbWJvYXJkcykKKy0jIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKy1cI2lmIFwkbnVtX21ib2FyZHMoKSA+ICRtIGFuZCBcJGNsb2NrX3NvdXJjZSQo bSkoKQorLXNlbGYuXCQoaWQpLnNldF9jbG9ja19zb3VyY2UoXCRjbG9ja19zb3VyY2UkKG0pLCAk bSkKKy1cI2VuZCBpZgorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLVwjaWYgXCRudW1fbWJvYXJkcygpID4g JG0gYW5kIFwkdGltZV9zb3VyY2UkKG0pKCkKKy1zZWxmLlwkKGlkKS5zZXRfdGltZV9zb3VyY2Uo XCR0aW1lX3NvdXJjZSQobSksICRtKQorLVwjZW5kIGlmCistIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistI2Vu ZCBmb3IKKy1cI2lmIFwkc3luYygpID09ICdzeW5jJworLXNlbGYuXCQoaWQpLnNldF90aW1lX3Vu a25vd25fcHBzKG9zbW9zZHIudGltZV9zcGVjX3QoKSkKKy1cI2VsaWYgXCRzeW5jKCkgPT0gJ3Bj X2Nsb2NrJworLXNlbGYuXCQoaWQpLnNldF90aW1lX25vdyhvc21vc2RyLnRpbWVfc3BlY190KHRp bWUudGltZSgpKSwgb3Ntb3Nkci5BTExfTUJPQVJEUykKKy1cI2VuZCBpZgorLXNlbGYuXCQoaWQp LnNldF9zYW1wbGVfcmF0ZShcJHNhbXBsZV9yYXRlKQorLSNmb3IgJG4gaW4gcmFuZ2UoJG1heF9u Y2hhbikKKy1cI2lmIFwkbmNoYW4oKSA+ICRuCistc2VsZi5cJChpZCkuc2V0X2NlbnRlcl9mcmVx KFwkZnJlcSQobiksICRuKQorLXNlbGYuXCQoaWQpLnNldF9mcmVxX2NvcnIoXCRjb3JyJChuKSwg JG4pCistI2lmICRzb3VyayA9PSAnc291cmNlJzoKKy1zZWxmLlwkKGlkKS5zZXRfZGNfb2Zmc2V0 X21vZGUoXCRkY19vZmZzZXRfbW9kZSQobiksICRuKQorLXNlbGYuXCQoaWQpLnNldF9pcV9iYWxh bmNlX21vZGUoXCRpcV9iYWxhbmNlX21vZGUkKG4pLCAkbikKKy1zZWxmLlwkKGlkKS5zZXRfZ2Fp bl9tb2RlKFwkZ2Fpbl9tb2RlJChuKSwgJG4pCistI2VuZCBpZgorLXNlbGYuXCQoaWQpLnNldF9n YWluKFwkZ2FpbiQobiksICRuKQorLXNlbGYuXCQoaWQpLnNldF9pZl9nYWluKFwkaWZfZ2FpbiQo biksICRuKQorLXNlbGYuXCQoaWQpLnNldF9iYl9nYWluKFwkYmJfZ2FpbiQobiksICRuKQorLXNl bGYuXCQoaWQpLnNldF9hbnRlbm5hKFwkYW50JChuKSwgJG4pCistc2VsZi5cJChpZCkuc2V0X2Jh bmR3aWR0aChcJGJ3JChuKSwgJG4pCistXCNlbmQgaWYKKy0jZW5kIGZvcgorLSAgPC9tYWtlPgor LSAgPGNhbGxiYWNrPnNldF9zYW1wbGVfcmF0ZShcJHNhbXBsZV9yYXRlKTwvY2FsbGJhY2s+Cist ICAjZm9yICRuIGluIHJhbmdlKCRtYXhfbmNoYW4pCistICA8Y2FsbGJhY2s+c2V0X2NlbnRlcl9m cmVxKFwkZnJlcSQobiksICRuKTwvY2FsbGJhY2s+CistICA8Y2FsbGJhY2s+c2V0X2ZyZXFfY29y cihcJGNvcnIkKG4pLCAkbik8L2NhbGxiYWNrPgorLSAgI2lmICRzb3VyayA9PSAnc291cmNlJzoK Ky0gIDxjYWxsYmFjaz5zZXRfZGNfb2Zmc2V0X21vZGUoXCRkY19vZmZzZXRfbW9kZSQobiksICRu KTwvY2FsbGJhY2s+CistICA8Y2FsbGJhY2s+c2V0X2lxX2JhbGFuY2VfbW9kZShcJGlxX2JhbGFu Y2VfbW9kZSQobiksICRuKTwvY2FsbGJhY2s+CistICA8Y2FsbGJhY2s+c2V0X2dhaW5fbW9kZShc JGdhaW5fbW9kZSQobiksICRuKTwvY2FsbGJhY2s+CistICAjZW5kIGlmCistICA8Y2FsbGJhY2s+ c2V0X2dhaW4oXCRnYWluJChuKSwgJG4pPC9jYWxsYmFjaz4KKy0gIDxjYWxsYmFjaz5zZXRfaWZf Z2FpbihcJGlmX2dhaW4kKG4pLCAkbik8L2NhbGxiYWNrPgorLSAgPGNhbGxiYWNrPnNldF9iYl9n YWluKFwkYmJfZ2FpbiQobiksICRuKTwvY2FsbGJhY2s+CistICA8Y2FsbGJhY2s+c2V0X2FudGVu bmEoXCRhbnQkKG4pLCAkbik8L2NhbGxiYWNrPgorLSAgPGNhbGxiYWNrPnNldF9iYW5kd2lkdGgo XCRidyQobiksICRuKTwvY2FsbGJhY2s+CistICAjZW5kIGZvcgorLSAgPHBhcmFtPgorLSAgICA8 bmFtZT4kKGRpci50aXRsZSgpKXB1dCBUeXBlPC9uYW1lPgorLSAgICA8a2V5PnR5cGU8L2tleT4K Ky0gICAgPHR5cGU+ZW51bTwvdHlwZT4KKy0gICAgPG9wdGlvbj4KKy0gICAgICA8bmFtZT5Db21w bGV4IGZsb2F0MzI8L25hbWU+CistICAgICAgPGtleT5mYzMyPC9rZXk+CistICAgICAgPG9wdD50 eXBlOmZjMzI8L29wdD4KKy0gICAgPC9vcHRpb24+CistICA8L3BhcmFtPgorLSAgPHBhcmFtPgor LSAgICA8bmFtZT5EZXZpY2UgQXJndW1lbnRzPC9uYW1lPgorLSAgICA8a2V5PmFyZ3M8L2tleT4K Ky0gICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDx0eXBlPnN0cmluZzwvdHlwZT4KKy0gICAgPGhp ZGU+CistICAgICAgXCNpZiBcJGFyZ3MoKQorLSAgICAgICAgbm9uZQorLSAgICAgIFwjZWxzZQor LSAgICAgICAgcGFydAorLSAgICAgIFwjZW5kIGlmCistICAgIDwvaGlkZT4KKy0gIDwvcGFyYW0+ CistICA8cGFyYW0+CistICAgIDxuYW1lPlN5bmM8L25hbWU+CistICAgIDxrZXk+c3luYzwva2V5 PgorLSAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPHR5cGU+ZW51bTwvdHlwZT4KKy0gICAgPGhp ZGU+XCNpZiBcJHN5bmMoKSB0aGVuICdub25lJyBlbHNlICdwYXJ0JyM8L2hpZGU+CistICAgIDxv cHRpb24+CistICAgICAgPG5hbWU+dW5rbm93biBQUFM8L25hbWU+CistICAgICAgPGtleT5zeW5j PC9rZXk+CistICAgIDwvb3B0aW9uPgorLSAgICA8b3B0aW9uPgorLSAgICAgIDxuYW1lPlBDIENs b2NrPC9uYW1lPgorLSAgICAgIDxrZXk+cGNfY2xvY2s8L2tleT4KKy0gICAgPC9vcHRpb24+Cist ICAgIDxvcHRpb24+CistICAgICAgPG5hbWU+ZG9uJ3Qgc3luYzwvbmFtZT4KKy0gICAgICA8a2V5 Pjwva2V5PgorLSAgICA8L29wdGlvbj4KKy0gIDwvcGFyYW0+CistICA8cGFyYW0+CistICAgIDxu YW1lPk51bSBNYm9hcmRzPC9uYW1lPgorLSAgICA8a2V5Pm51bV9tYm9hcmRzPC9rZXk+CistICAg IDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPHR5cGU+aW50PC90eXBlPgorLSAgICA8aGlkZT5wYXJ0 PC9oaWRlPgorLSAgICAjZm9yICRtIGluIHJhbmdlKDEsICRtYXhfbWJvYXJkcysxKQorLSAgICA8 b3B0aW9uPgorLSAgICAgIDxuYW1lPiQobSk8L25hbWU+CistICAgICAgPGtleT4kbTwva2V5Pgor LSAgICA8L29wdGlvbj4KKy0gICAgI2VuZCBmb3IKKy0gIDwvcGFyYW0+CistICAjZm9yICRtIGlu IHJhbmdlKCRtYXhfbWJvYXJkcykKKy0gIDxwYXJhbT4KKy0gICAgPG5hbWU+TWIkKG0pOiBDbG9j ayBTb3VyY2U8L25hbWU+CistICAgIDxrZXk+Y2xvY2tfc291cmNlJChtKTwva2V5PgorLSAgICA8 dmFsdWU+PC92YWx1ZT4KKy0gICAgPHR5cGU+c3RyaW5nPC90eXBlPgorLSAgICA8aGlkZT4KKy0g ICAgICBcI2lmIG5vdCBcJG51bV9tYm9hcmRzKCkgPiAkbQorLSAgICAgICAgYWxsCistICAgICAg XCNlbGlmIFwkY2xvY2tfc291cmNlJChtKSgpCistICAgICAgICBub25lCistICAgICAgXCNlbHNl CistICAgICAgICBwYXJ0CistICAgICAgXCNlbmQgaWYKKy0gICAgPC9oaWRlPgorLSAgICA8b3B0 aW9uPjxuYW1lPkRlZmF1bHQ8L25hbWU+PGtleT48L2tleT48L29wdGlvbj4KKy0gICAgPG9wdGlv bj48bmFtZT5JbnRlcm5hbDwvbmFtZT48a2V5PmludGVybmFsPC9rZXk+PC9vcHRpb24+CistICAg IDxvcHRpb24+PG5hbWU+RXh0ZXJuYWw8L25hbWU+PGtleT5leHRlcm5hbDwva2V5Pjwvb3B0aW9u PgorLSAgICA8b3B0aW9uPjxuYW1lPkV4dGVybmFsIDFQUFM8L25hbWU+PGtleT5leHRlcm5hbF8x cHBzPC9rZXk+PC9vcHRpb24+CistICAgIDxvcHRpb24+PG5hbWU+TUlNTyBDYWJsZTwvbmFtZT48 a2V5Pm1pbW88L2tleT48L29wdGlvbj4KKy0gICAgPG9wdGlvbj48bmFtZT5PL0IgR1BTRE88L25h bWU+PGtleT5ncHNkbzwva2V5Pjwvb3B0aW9uPgorLSAgPC9wYXJhbT4KKy0gIDxwYXJhbT4KKy0g ICAgPG5hbWU+TWIkKG0pOiBUaW1lIFNvdXJjZTwvbmFtZT4KKy0gICAgPGtleT50aW1lX3NvdXJj ZSQobSk8L2tleT4KKy0gICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDx0eXBlPnN0cmluZzwvdHlw ZT4KKy0gICAgPGhpZGU+CistICAgICAgXCNpZiBub3QgXCRudW1fbWJvYXJkcygpID4gJG0KKy0g ICAgICAgIGFsbAorLSAgICAgIFwjZWxpZiBcJHRpbWVfc291cmNlJChtKSgpCistICAgICAgICBu b25lCistICAgICAgXCNlbHNlCistICAgICAgICBwYXJ0CistICAgICAgXCNlbmQgaWYKKy0gICAg PC9oaWRlPgorLSAgICA8b3B0aW9uPjxuYW1lPkRlZmF1bHQ8L25hbWU+PGtleT48L2tleT48L29w dGlvbj4KKy0gICAgPG9wdGlvbj48bmFtZT5FeHRlcm5hbDwvbmFtZT48a2V5PmV4dGVybmFsPC9r ZXk+PC9vcHRpb24+CistICAgIDxvcHRpb24+PG5hbWU+TUlNTyBDYWJsZTwvbmFtZT48a2V5Pm1p bW88L2tleT48L29wdGlvbj4KKy0gICAgPG9wdGlvbj48bmFtZT5PL0IgR1BTRE88L25hbWU+PGtl eT5ncHNkbzwva2V5Pjwvb3B0aW9uPgorLSAgPC9wYXJhbT4KKy0gICNlbmQgZm9yCistICA8cGFy YW0+CistICAgIDxuYW1lPk51bSBDaGFubmVsczwvbmFtZT4KKy0gICAgPGtleT5uY2hhbjwva2V5 PgorLSAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDx0eXBlPmludDwvdHlwZT4KKy0gICAgI2Zv ciAkbiBpbiByYW5nZSgxLCAkbWF4X25jaGFuKzEpCistICAgIDxvcHRpb24+CistICAgICAgPG5h bWU+JChuKTwvbmFtZT4KKy0gICAgICA8a2V5PiRuPC9rZXk+CistICAgIDwvb3B0aW9uPgorLSAg ICAjZW5kIGZvcgorLSAgPC9wYXJhbT4KKy0gIDxwYXJhbT4KKy0gICAgPG5hbWU+U2FtcGxlIFJh dGUgKHNwcyk8L25hbWU+CistICAgIDxrZXk+c2FtcGxlX3JhdGU8L2tleT4KKy0gICAgPHZhbHVl PnNhbXBfcmF0ZTwvdmFsdWU+CistICAgIDx0eXBlPnJlYWw8L3R5cGU+CistICA8L3BhcmFtPgor LSAgJHBhcmFtcworLSAgPGNoZWNrPiRtYXhfbmNoYW4gPj0gXCRuY2hhbjwvY2hlY2s+CistICA8 Y2hlY2s+XCRuY2hhbiA+IDA8L2NoZWNrPgorLSAgPGNoZWNrPiRtYXhfbWJvYXJkcyA+PSBcJG51 bV9tYm9hcmRzPC9jaGVjaz4KKy0gIDxjaGVjaz5cJG51bV9tYm9hcmRzID4gMDwvY2hlY2s+Cist ICA8Y2hlY2s+XCRuY2hhbiA+PSBcJG51bV9tYm9hcmRzPC9jaGVjaz4KKy0gIDwkc291cms+Cist ICAgIDxuYW1lPiRkaXI8L25hbWU+CistICAgIDx0eXBlPlwkdHlwZS50eXBlPC90eXBlPgorLSAg ICA8bnBvcnRzPlwkbmNoYW48L25wb3J0cz4KKy0gIDwvJHNvdXJrPgorLSAgPGRvYz4KKy1UaGUg b3Ntb2NvbSAkc291cmsgYmxvY2s6CistCistV2hpbGUgcHJpbWFyaWx5IGJlaW5nIGRldmVsb3Bl ZCBmb3IgdGhlIE9zbW9TRFIgaGFyZHdhcmUsIHRoaXMgYmxvY2sgYXMgd2VsbCBzdXBwb3J0czoK Ky0KKy0jaWYgJHNvdXJrID09ICdzb3VyY2UnOgorLSAqIEZVTmN1YmUgRG9uZ2xlIHRocm91Z2gg bGliZ251cmFkaW8tZmNkCistICogRlVOY3ViZSBEb25nbGUgUHJvKyB0aHJvdWdoIGdyLWZjZHBy b3BsdXMKKy0gKiBzeXNtb2NvbSBPc21vU0RSIERldmljZXMgdGhyb3VnaCBsaWJvc21vc2RyCist ICogUlRMMjgzMlUgYmFzZWQgRFZCLVQgZG9uZ2xlcyB0aHJvdWdoIGxpYnJ0bHNkcgorLSAqIFJU TC1UQ1Agc3BlY3RydW0gc2VydmVyIChzZWUgbGlicnRsc2RyIHByb2plY3QpCistICogTVNpMjUw MCBiYXNlZCBEVkItVCBkb25nbGVzIHRocm91Z2ggbGlibWlyaXNkcgorLSAqIFNEUnBsYXkgUlNQ IGRldmljZXMgdGhyb3VnaCBTRFJwbGF5IGxpYnJhcnkKKy0gKiBnbnVyYWRpbyAuY2ZpbGUgaW5w dXQgdGhyb3VnaCBsaWJnbnVyYWRpby1ibG9ja3MKKy0gKiBSRlNQQUNFIFNEUi1JUSwgU0RSLUlQ LCBOZXRTRFIgKGluY2wuIFgyIG9wdGlvbikKKy0gKiBBaXJTcHkgV2lkZWJhbmQgUmVjZWl2ZXIg dGhyb3VnaCBsaWJhaXJzcHkKKy0jZW5kIGlmCistI2lmICRzb3VyayA9PSAnc2luayc6CistICog Z251cmFkaW8gLmNmaWxlIG91dHB1dCB0aHJvdWdoIGxpYmdudXJhZGlvLWJsb2NrcworLSNlbmQg aWYKKy0gKiBDQ0NhbXAgMjAxNSByYWQxbyBCYWRnZSB0aHJvdWdoIGxpYmhhY2tyZgorLSAqIEdy ZWF0IFNjb3R0IEdhZGdldHMgSGFja1JGIHRocm91Z2ggbGliaGFja3JmCistICogTnVhbmQgTExD IGJsYWRlUkYgdGhyb3VnaCBsaWJibGFkZVJGIGxpYnJhcnkKKy0gKiBFdHR1cyBVU1JQIERldmlj ZXMgdGhyb3VnaCBFdHR1cyBVSEQgbGlicmFyeQorLSAqIEZhaXJ3YXZlcyBVbVRSWCB0aHJvdWdo IEZhaXJ3YXZlcycgZm9yayBvZiBVSEQKKy0gKiBSZWQgUGl0YXlhIFNEUiB0cmFuc2NlaXZlciAo aHR0cDovL2JhemFhci5yZWRwaXRheWEuY29tKQorLSAqIEZyZWVTUlAgdGhyb3VnaCBsaWJmcmVl c3JwIGxpYnJhcnkKKy0KKy1CeSB1c2luZyB0aGUgb3Ntb2NvbSAkc291cmsgYmxvY2sgeW91IGNh biB0YWtlIGFkdmFudGFnZSBvZiBhIGNvbW1vbiBzb2Z0d2FyZSBhcGkgaW4geW91ciBhcHBsaWNh dGlvbihzKSBpbmRlcGVuZGVudCBvZiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0K Ky1PdXRwdXQgVHlwZToKKy1UaGlzIHBhcmFtZXRlciBjb250cm9scyB0aGUgZGF0YSB0eXBlIG9m IHRoZSBzdHJlYW0gaW4gZ251cmFkaW8uIE9ubHkgY29tcGxleCBmbG9hdDMyIHNhbXBsZXMgYXJl IHN1cHBvcnRlZCBhdCB0aGUgbW9tZW50LgorLQorLURldmljZSBBcmd1bWVudHM6CistVGhlIGRl dmljZSBhcmd1bWVudCBpcyBhIGNvbW1hIGRlbGltaXRlZCBzdHJpbmcgdXNlZCB0byBsb2NhdGUg ZGV2aWNlcyBvbiB5b3VyIHN5c3RlbS4gRGV2aWNlIGFyZ3VtZW50cyBmb3IgbXVsdGlwbGUgZGV2 aWNlcyBtYXkgYmUgZ2l2ZW4gYnkgc2VwYXJhdGluZyB0aGVtIHdpdGggYSBzcGFjZS4KKy1Vc2Ug dGhlIGRldmljZSBpZCBvciBuYW1lL3NlcmlhbCAoaWYgYXBwbGljYWJsZSkgdG8gc3BlY2lmeSBh IGNlcnRhaW4gZGV2aWNlIG9yIGxpc3Qgb2YgZGV2aWNlcy4gSWYgbGVmdCBibGFuaywgdGhlIGZp cnN0IGRldmljZSBmb3VuZCB3aWxsIGJlIHVzZWQuCistCistRXhhbXBsZXM6CistCistT3B0aW9u YWwgYXJndW1lbnRzIGFyZSBwbGFjZWQgaW50byBbXSBicmFja2V0cywgcmVtb3ZlIHRoZSBicmFj a2V0cyBiZWZvcmUgdXNpbmcgdGhlbSEgU3BlY2lmaWMgdmFyaWFibGUgdmFsdWVzIGFyZSBzZXBh cmF0ZWQgd2l0aCBhIHwsIGNob29zZSBvbmUgb2YgdGhlbS4gVmFyaWFibGUgdmFsdWVzIGNvbnRh aW5pbmcgc3BhY2VzIHNoYWxsIGJlIGVuY2xvc2VkIGluICcnIGFzIGRlbW9uc3RyYXRlZCBpbiBl eGFtcGxlcyBzZWN0aW9uIGJlbG93LgorLUxpbmVzIGVuZGluZyB3aXRoIC4uLiBtZWFuIGl0J3Mg cG9zc2libGUgdG8gYmluZCBkZXZpY2VzIHRvZ2V0aGVyIGJ5IHNwZWNpZnlpbmcgbXVsdGlwbGUg ZGV2aWNlIGFyZ3VtZW50cyBzZXBhcmF0ZWQgd2l0aCBhIHNwYWNlLgorLQorLSNpZiAkc291cmsg PT0gJ3NvdXJjZSc6CistICBmY2Q9MFssZGV2aWNlPWh3OjJdWyx0eXBlPTJdCistICBtaXJpPTBb LGJ1ZmZlcnM9MzJdIC4uLgorLSAgcnRsPXNlcmlhbF9udW1iZXIgLi4uCistICBydGw9MFsscnRs X3h0YWw9MjguOGU2XVssdHVuZXJfeHRhbD0yOC44ZTZdIC4uLgorLSAgcnRsPTFbLGJ1ZmZlcnM9 MzJdWyxidWZsZW49Tio1MTJdIC4uLgorLSAgcnRsPTJbLGRpcmVjdF9zYW1wPTB8MXwyXVssb2Zm c2V0X3R1bmU9MHwxXVssYmlhcz0wfDFdIC4uLgorLSAgcnRsX3RjcD0xMjcuMC4wLjE6MTIzNFss cHNpemU9MTYzODRdWyxkaXJlY3Rfc2FtcD0wfDF8Ml1bLG9mZnNldF90dW5lPTB8MV1bLGJpYXM9 MHwxXSAuLi4KKy0gIG9zbW9zZHI9MFssYnVmZmVycz0zMl1bLGJ1Zmxlbj1OKjUxMl0gLi4uCist ICBmaWxlPScvcGF0aC90by95b3VyIGZpbGUnLHJhdGU9MWU2WyxmcmVxPTEwMGU2XVsscmVwZWF0 PXRydWVdWyx0aHJvdHRsZT10cnVlXSAuLi4KKy0gIG5ldHNkcj0xMjcuMC4wLjFbOjUwMDAwXVss bmNoYW49Ml0KKy0gIHNkci1pcD0xMjcuMC4wLjFbOjUwMDAwXQorLSAgY2xvdWRpcT0xMjcuMC4w LjFbOjUwMDAwXQorLSAgc2RyLWlxPS9kZXYvdHR5VVNCMAorLSAgYWlyc3B5PTBbLGJpYXM9MHwx XVssbGluZWFyaXR5XVssc2Vuc2l0aXZpdHldCistI2VuZCBpZgorLSNpZiAkc291cmsgPT0gJ3Np bmsnOgorLSAgZmlsZT0nL3BhdGgvdG8veW91ciBmaWxlJyxyYXRlPTFlNlssZnJlcT0xMDBlNl1b LGFwcGVuZD10cnVlXVssdGhyb3R0bGU9dHJ1ZV0gLi4uCistI2VuZCBpZgorLSAgcmVkcGl0YXlh PTE5Mi4xNjguMS4xMDBbOjEwMDFdCistICBmcmVlc3JwPTBbLGZ4Mz0ncGF0aC90by9meDMuaW1n JyxmcGdhPSdwYXRoL3RvL2ZwZ2EuYmluJyxsb29wYmFja10KKy0gIGhhY2tyZj0wWyxidWZmZXJz PTMyXVssYmlhcz0wfDFdWyxiaWFzX3R4PTB8MV0KKy0gIGJsYWRlcmY9MFssdGFtZXI9aW50ZXJu YWx8ZXh0ZXJuYWx8ZXh0ZXJuYWxfMXBwc11bLHNtYj0yNWU2XQorLSAgdWhkWyxzZXJpYWw9Li4u XVssbG9fb2Zmc2V0PTBdWyxtY3I9NTJlNl1bLG5jaGFuPTJdWyxzdWJkZXY9J1xcXFwnQjowIEE6 MFxcXFwnJ10gLi4uCistCistTnVtIENoYW5uZWxzOgorLVNlbGVjdHMgdGhlIHRvdGFsIG51bWJl ciBvZiBjaGFubmVscyBpbiB0aGlzIG11bHRpLWRldmljZSBjb25maWd1cmF0aW9uLiBSZXF1aXJl ZCB3aGVuIHNwZWNpZnlpbmcgbXVsdGlwbGUgZGV2aWNlIGFyZ3VtZW50cy4KKy0KKy1TYW1wbGUg UmF0ZToKKy1UaGUgc2FtcGxlIHJhdGUgaXMgdGhlIG51bWJlciBvZiBzYW1wbGVzIHBlciBzZWNv bmQgb3V0cHV0IGJ5IHRoaXMgYmxvY2sgb24gZWFjaCBjaGFubmVsLgorLQorLUZyZXF1ZW5jeToK Ky1UaGUgY2VudGVyIGZyZXF1ZW5jeSBpcyB0aGUgZnJlcXVlbmN5IHRoZSBSRiBjaGFpbiBpcyB0 dW5lZCB0by4KKy0KKy1GcmVxLiBDb3JyLjoKKy1UaGUgZnJlcXVlbmN5IGNvcnJlY3Rpb24gZmFj dG9yIGluIHBhcnRzIHBlciBtaWxsaW9uIChwcG0pLiBTZXQgdG8gMCBpZiB1bmtub3duLgorLQor LSNpZiAkc291cmsgPT0gJ3NvdXJjZSc6CistREMgT2Zmc2V0IE1vZGU6CistQ29udHJvbHMgdGhl IGJlaGF2aW9yIG9mIGhhcmR3YXJlIERDIG9mZnNldCBjb3JycmVjdGlvbi4KKy0gIE9mZjogRGlz YWJsZSBjb3JyZWN0aW9uIGFsZ29yaXRobSAocGFzcyB0aHJvdWdoKS4KKy0gIE1hbnVhbDogS2Vl cCBsYXN0IGVzdGltYXRlZCBjb3JyZWN0aW9uIHdoZW4gc3dpdGNoZWQgZnJvbSBBdXRvbWF0aWMg dG8gTWFudWFsLgorLSAgQXV0b21hdGljOiBQZXJpb2RpY2FsbGx5IGZpbmQgdGhlIGJlc3Qgc29s dXRpb24gdG8gY29tcGVuc2F0ZSBmb3IgREMgb2Zmc2V0LgorLQorLVRoaXMgZnVuY3Rpb25hbGl0 eSBpcyBhdmFpbGFibGUgZm9yIFVTUlAgZGV2aWNlcyBvbmx5LgorLQorLUlRIEJhbGFuY2UgTW9k ZToKKy1Db250cm9scyB0aGUgYmVoYXZpb3Igb2Ygc29mdHdhcmUgSVEgaW1iYWxhbmNlIGNvcnJy ZWN0aW9uLgorLSAgT2ZmOiBEaXNhYmxlIGNvcnJlY3Rpb24gYWxnb3JpdGhtIChwYXNzIHRocm91 Z2gpLgorLSAgTWFudWFsOiBLZWVwIGxhc3QgZXN0aW1hdGVkIGNvcnJlY3Rpb24gd2hlbiBzd2l0 Y2hlZCBmcm9tIEF1dG9tYXRpYyB0byBNYW51YWwuCistICBBdXRvbWF0aWM6IFBlcmlvZGljYWxs bHkgZmluZCB0aGUgYmVzdCBzb2x1dGlvbiB0byBjb21wZW5zYXRlIGZvciBpbWFnZSBzaWduYWxz LgorLQorLVRoaXMgZnVuY3Rpb25hbGl0eSBkZXBlbmRzIG9uIGh0dHA6Ly9jZ2l0Lm9zbW9jb20u b3JnL2NnaXQvZ3ItaXFiYWwvCistCistR2FpbiBNb2RlOgorLUNob29zZXMgYmV0d2VlbiB0aGUg bWFudWFsIChkZWZhdWx0KSBhbmQgYXV0b21hdGljIGdhaW4gbW9kZSB3aGVyZSBhcHByb3ByaWF0 ZS4KKy1UbyBhbGxvdyBtYW51YWwgY29udHJvbCBvZiBSRi9JRi9CQiBnYWluIHN0YWdlcywgbWFu dWFsIGdhaW4gbW9kZSBtdXN0IGJlIGNvbmZpZ3VyZWQuCistQ3VycmVudGx5LCBvbmx5IFJUTC1T RFIgZGV2aWNlcyBzdXBwb3J0IGF1dG9tYXRpYyBnYWluIG1vZGUuCistCistI2VuZCBpZgorLVJG IEdhaW46CistT3ZlcmFsbCBSRiBnYWluIG9mIHRoZSBkZXZpY2UuCistCistSUYgR2FpbjoKKy1P dmVyYWxsIGludGVybWVkaWF0ZSBmcmVxdWVuY3kgZ2FpbiBvZiB0aGUgZGV2aWNlLgorLVRoaXMg c2V0dGluZyBpcyBhdmFpbGFibGUgZm9yIFJUTC1TRFIgYW5kIE9zbW9TRFIgZGV2aWNlcyB3aXRo IEU0MDAwIHR1bmVycyBhbmQgSGFja1JGIGluIHJlY2VpdmUgYW5kIHRyYW5zbWl0IG1vZGUuIE9i c2VydmF0aW9ucyBsZWFkIHRvIGEgcmVhc29uYWJsZSBnYWluIHJhbmdlIGZyb20gMTUgdG8gMzBk Qi4KKy0KKy1CQiBHYWluOgorLU92ZXJhbGwgYmFzZWJhbmQgZ2FpbiBvZiB0aGUgZGV2aWNlLgor LVRoaXMgc2V0dGluZyBpcyBhdmFpbGFibGUgZm9yIEhhY2tSRiBpbiByZWNlaXZlIG1vZGUuIE9i c2VydmF0aW9ucyBsZWFkIHRvIGEgcmVhc29uYWJsZSBnYWluIHJhbmdlIGZyb20gMTUgdG8gMzBk Qi4KKy0KKy1BbnRlbm5hOgorLUZvciBkZXZpY2VzIHdpdGggb25seSBvbmUgYW50ZW5uYSwgdGhp cyBtYXkgYmUgbGVmdCBibGFuay4KKy1PdGhlcndpc2UsIHRoZSB1c2VyIHNob3VsZCBzcGVjaWZ5 IG9uZSBvZiB0aGUgcG9zc2libGUgYW50ZW5uYSBjaG9pY2VzLgorLQorLUJhbmR3aWR0aDoKKy1T ZXQgdGhlIGJhbmRwYXNzIGZpbHRlciBvbiB0aGUgcmFkaW8gZnJvbnRlbmQuIFRvIHVzZSB0aGUg ZGVmYXVsdCAoYXV0b21hdGljKSBiYW5kd2lkdGggZmlsdGVyIHNldHRpbmcsIHRoaXMgc2hvdWxk IGJlIHplcm8uCistCistU2VlIHRoZSBPc21vU0RSIHByb2plY3QgcGFnZSBmb3IgbW9yZSBkZXRh aWxlZCBkb2N1bWVudGF0aW9uOgorLWh0dHA6Ly9zZHIub3Ntb2NvbS5vcmcvdHJhYy93aWtpL0dy T3Ntb1NEUgorLWh0dHA6Ly9zZHIub3Ntb2NvbS5vcmcvdHJhYy93aWtpL3J0bC1zZHIKKy1odHRw Oi8vc2RyLm9zbW9jb20ub3JnL3RyYWMvCistICA8L2RvYz4KKy08L2Jsb2NrPgorK2lkOiAke3By ZWZpeH1fJHtzb3Vya30KKytsYWJlbDogJyR7dGl0bGV9ICR7c291cmsudGl0bGUoKX0nCisrY2F0 ZWdvcnk6ICdbT3Ntb1NEUl0nCisrZmxhZ3M6IHRocm90dGxlCisrCisrcGFyYW1ldGVyczoKKyst IGlkOiB0eXBlCisrICBsYWJlbDogJyR7ZGlyZWN0aW9uLnRpdGxlKCl9cHV0IFR5cGUnCisrICBk dHlwZTogZW51bQorKyAgb3B0aW9uczogW2ZjMzJdCisrICBvcHRpb25zX2xhYmVsczogW0NvbXBs ZXggRmxvYXQzMl0KKysgIG9wdGlvbnNfYXR0cmlidXRlczoKKysgICAgICB0eXBlOiBbZmMzMl0K KysgIGhpZGU6IHBhcnQKKystIGlkOiBkZXZfYXJncworKyAgbGFiZWw6ICdEZXZpY2UgQXJndW1l bnRzJworKyAgZHR5cGU6IHN0cmluZworKyAgZGVmYXVsdDogJyIiJworKyAgaGlkZTogJHsnJCd9 eyAnbm9uZScgaWYgZGV2X2FyZ3MgZWxzZSAncGFydCd9CisrLSBpZDogc3luYworKyAgbGFiZWw6 IFN5bmMKKysgIGR0eXBlOiBlbnVtCisrICBvcHRpb25zOiBbc3luYywgcGNfY2xvY2ssIG5vbmVd CisrICBvcHRpb25zX2xhYmVsczogW1Vua25vd24gUFBTLCBQQyBDbG9jaywgRG9uJ3QgU3luY10K KysgIGhpZGU6ICR7JyQnfXsgJ25vbmUnIGlmIHN5bmMgZWxzZSAncGFydCd9CisrLSBpZDogbnVt X21ib2FyZHMKKysgIGxhYmVsOiAnTnVtYmVyIE1Cb2FyZHMnCisrICB0eXBlOiBpbnQKKysgIGRl ZmF1bHQ6IDEKKysgIG9wdGlvbnM6IFsgJHsiLCAiLmpvaW4oW3N0cihuKSBmb3IgbiBpbiByYW5n ZSgxLCBtYXhfbWJvYXJkcysxKV0pfSBdCisrICBoaWRlOiBwYXJ0CisrJSBmb3IgbSBpbiByYW5n ZShtYXhfbWJvYXJkcyk6CisrLSBpZDogY2xvY2tfc291cmNlJHttfQorKyAgbGFiZWw6ICdNQiR7 bX06IENsb2NrIFNvdXJjZScKKysgIGR0eXBlOiBzdHJpbmcKKysgIG9wdGlvbnM6IFsnJywgaW50 ZXJuYWwsIGV4dGVybmFsLCBleHRlcm5hbF8xcHBzLCBtaW1vLCBncHNkb10KKysgIG9wdGlvbnNf bGFiZWxzOiBbRGVmYXVsdCwgSW50ZXJuYWwsIEV4dGVybmFsLCBFeHRlcm5hbCAxUFBTLCBNSU1P IENhYmxlLCBPL0IgR1BTRE9dCisrICBoaWRlOiAkeyckJ317ICdhbGwnIGlmIG5vdCAobnVtX21i b2FyZHMgPiAke219KSBlbHNlICggJ25vbmUnIGlmIGNsb2NrX3NvdXJjZSR7bX0gZWxzZSAncGFy dCcgKX0KKystIGlkOiB0aW1lX3NvdXJjZSR7bX0KKysgIGxhYmVsOiAnTUIke219OiBUaW1lIFNv dXJjZScKKysgIGR0eXBlOiBzdHJpbmcKKysgIG9wdGlvbnM6IFsnJywgZXh0ZXJuYWwsIG1pbW8s IGdwc2RvXQorKyAgb3B0aW9uc19sYWJlbHM6IFtEZWZhdWx0LCBFeHRlcm5hbCwgTUlNTyBDYWJs ZSwgTy9CIEdQU0RPXQorKyAgaGlkZTogJHsnJCd9eyAnYWxsJyBpZiBub3QgKG51bV9tYm9hcmRz ID4gJHttfSkgZWxzZSAoICdub25lJyBpZiB0aW1lX3NvdXJjZSR7bX0gZWxzZSAncGFydCcgKX0g IAorKyUgZW5kZm9yCisrLSBpZDogbmNoYW4KKysgIGxhYmVsOiAnTnVtYmVyIENoYW5uZWxzJwor KyAgdHlwZTogaW50CisrICBkZWZhdWx0OiAxCisrICBvcHRpb25zOiBbICR7IiwgIi5qb2luKFtz dHIobikgZm9yIG4gaW4gcmFuZ2UoMSwgbWF4X25jaGFuKzEpXSl9IF0KKystIGlkOiBzYW1wbGVf cmF0ZQorKyAgbGFiZWw6ICdTYW1wbGUgUmF0ZSAoc3BzKScKKysgIGR0eXBlOiByZWFsCisrICBk ZWZhdWx0OiBzYW1wX3JhdGUKKyske3BhcmFtc30KKysKKytpbnB1dHM6CisrLSBkb21haW46IG1l c3NhZ2UKKysgIGlkOiBjb21tYW5kCisrICBvcHRpb25hbDogdHJ1ZQorKyUgaWYgc291cmsgPT0g J3NvdXJjZSc6CisrCisrb3V0cHV0czoKKyslIGVuZGlmCisrLSBkb21haW46IHN0cmVhbQorKyAg ZHR5cGU6ICR7JyQnfXt0eXBlLnR5cGV9CisrICBtdWx0aXBsaWNpdHk6ICR7JyQnfXtuY2hhbn0K KyslIGlmIHNvdXJrID09ICdzaW5rJzoKKysKKytvdXRwdXRzOgorKy0gZG9tYWluOiBtZXNzYWdl CisrICBpZDogYXN5bmNfbXNncworKyAgb3B0aW9uYWw6IHRydWUKKyslIGVuZGlmCisrCisrdGVt cGxhdGVzOgorKyAgaW1wb3J0czogfC0KKysgICAgIGltcG9ydCBvc21vc2RyCisrICAgICBpbXBv cnQgdGltZQorKyAgbWFrZTogfAorKyAgICBvc21vc2RyLiR7c291cmt9KAorKyAgICAgICAgYXJn cz0ibnVtY2hhbj0iICsgc3RyKCR7JyQnfXtuY2hhbn0pICsgIiAiICsgJHsnJCd9e2FyZ3N9Cisr ICAgICkKKysgICAgJSBmb3IgbSBpbiByYW5nZShtYXhfbWJvYXJkcyk6CisrICAgICR7JyUnfSBp ZiBjb250ZXh0LmdldCgnbnVtX21ib2FyZHMnKSgpID4gJHttfToKKysgICAgJHsnJSd9IGlmIGNv bnRleHQuZ2V0KCdjbG9ja19zb3VyY2Uke219JykoKToKKysgICAgc2VsZi4keyckJ317aWR9LnNl dF9jbG9ja19zb3VyY2UoJHsnJCd9eyR7J2Nsb2NrX3NvdXJjZScgKyBzdHIobSl9fSwgJHttfSkK KysgICAgJHsnJSd9IGVuZGlmCisrICAgICR7JyUnfSBpZiBjb250ZXh0LmdldCgndGltZV9zb3Vy Y2Uke219JykoKToKKysgICAgc2VsZi4keyckJ317aWR9LnNldF90aW1lX3NvdXJjZSgkeyckJ317 JHsndGltZV9zb3VyY2UnICsgc3RyKG0pfX0sICR7bX0pCisrICAgICR7JyUnfSBlbmRpZgorKyAg ICAkeyclJ30gZW5kaWYKKysgICAgJSBlbmRmb3IKKysgICAgJHsnJSd9IGlmIHN5bmMgPT0gJ3N5 bmMnOgorKyAgICBzZWxmLiR7JyQnfXtpZH0uc2V0X3RpbWVfdW5rbm93bl9wcHMob3Ntb3Nkci50 aW1lX3NwZWNfdCgpKQorKyAgICAkeyclJ30gZWxpZiBzeW5jID09ICdwY19jbG9jayc6CisrICAg IHNlbGYuJHsnJCd9e2lkfS5zZXRfdGltZV9ub3cob3Ntb3Nkci50aW1lX3NwZWNfdCh0aW1lLnRp bWUoKSksIG9zbW9zZHIuQUxMX01CT0FSRFMpCisrICAgICR7JyUnfSBlbmRpZgorKyAgICBzZWxm LiR7JyQnfXtpZH0uc2V0X3NhbXBsZV9yYXRlKCR7JyQnfXtzYW1wbGVfcmF0ZX0pCisrICAgICUg Zm9yIG4gaW4gcmFuZ2UobWF4X25jaGFuKToKKysgICAgJHsnJSd9IGlmIGNvbnRleHQuZ2V0KCdu Y2hhbicpKCkgPiAke259OgorKyAgICBzZWxmLiR7JyQnfXtpZH0uc2V0X2NlbnRlcl9mcmVxKCR7 JyQnfXskeydmcmVxJyArIHN0cihuKX19LCAke259KQorKyAgICBzZWxmLiR7JyQnfXtpZH0uc2V0 X2ZyZXFfY29ycigkeyckJ317JHsnY29ycicgKyBzdHIobil9fSwgJHtufSkKKysgICAgJHsnJSd9 IGlmIGNvbnRleHQuZ2V0KCdzb3VyaycpID09ICdzb3VyY2UnOgorKyAgICBzZWxmLiR7JyQnfXtp ZH0uc2V0X2RjX29mZnNldF9tb2RlKCR7JyQnfXskeydkY19vZmZzZXRfbW9kZScgKyBzdHIobil9 fSwgJHtufSkKKysgICAgc2VsZi4keyckJ317aWR9LnNldF9pcV9iYWxhbmNlX21vZGUoJHsnJCd9 eyR7J2lxX2JhbGFuY2VfbW9kZScgKyBzdHIobil9fSwgJHtufSkKKysgICAgc2VsZi4keyckJ317 aWR9LnNldF9nYWluX21vZGUoJHsnJCd9eyR7J2dhaW5fbW9kZScgKyBzdHIobil9fSwgJHtufSkK KysgICAgJHsnJSd9IGVuZGlmCisrICAgIHNlbGYuJHsnJCd9e2lkfS5zZXRfZ2FpbigkeyckJ317 JHsnZ2FpbicgKyBzdHIobil9fSwgJHtufSkKKysgICAgc2VsZi4keyckJ317aWR9LnNldF9pZl9n YWluKCR7JyQnfXskeydpZl9nYWluJyArIHN0cihuKX19LCAke259KQorKyAgICBzZWxmLiR7JyQn fXtpZH0uc2V0X2JiX2dhaW4oJHsnJCd9eyR7J2JiX2dhaW4nICsgc3RyKG4pfX0sICR7bn0pCisr ICAgIHNlbGYuJHsnJCd9e2lkfS5zZXRfYW50ZW5uYSgkeyckJ317JHsnYW50JyArIHN0cihuKX19 LCAke259KQorKyAgICBzZWxmLiR7JyQnfXtpZH0uc2V0X2JhbmR3aWR0aCgkeyckJ317JHsnYncn ICsgc3RyKG4pfX0sICR7bn0pCisrICAgICR7JyUnfSBlbmRpZgorKyAgICAlIGVuZGZvcgorKyAg Y2FsbGJhY2tzOgorKyAgICAtIHNldF9zYW1wbGVfcmF0ZSgkeyckJ317c2FtcGxlX3JhdGV9KQor KyAgICAlIGZvciBuIGluIHJhbmdlKG1heF9uY2hhbik6CisrICAgIC0gc2V0X2NlbnRyZV9mcmVx KCR7JyQnfXskeydmcmVxJyArIHN0cihuKX19LCAke259KQorKyAgICAtIHNldF9mcmVxX2NvcnIo JHsnJCd9eyR7J2NvcnInICsgc3RyKG4pfX0sICR7bn0pCisrICAgICUgaWYgc291cmsgPT0gJ3Nv dXJjZSc6CisrICAgIC0gc2V0X2RjX29mZnNldF9tb2RlKCR7JyQnfXskeydkY19vZmZzZXRfbW9k ZScgKyBzdHIobil9fSwgJHtufSkKKysgICAgLSBzZXRfaXFfYmFsYW5jZV9tb2RlKCR7JyQnfXsk eydpcV9iYWxhbmNlX21vZGUnICsgc3RyKG4pfX0sICR7bn0pCisrICAgIC0gc2V0X2dhaW5fbW9k ZSgkeyckJ317JHsnZ2Fpbl9tb2RlJyArIHN0cihuKX19LCAke259KQorKyAgICAlIGVuZGlmCisr ICAgIC0gc2V0X2dhaW4oJHsnJCd9eyR7J2dhaW4nICsgc3RyKG4pfX0sICR7bn0pCisrICAgIC0g c2V0X2lmX2dhaW4oJHsnJCd9eyR7J2lmX2dhaW4nICsgc3RyKG4pfX0sICR7bn0pCisrICAgIC0g c2V0X2JiX2dhaW4oJHsnJCd9eyR7J2JiX2dhaW4nICsgc3RyKG4pfX0sICR7bn0pCisrICAgIC0g c2V0X2FudGVubmEoJHsnJCd9eyR7J2FudCcgKyBzdHIobil9fSwgJHtufSkKKysgICAgLSBzZXRf YmFuZHdpZHRoKCR7JyQnfXskeydidycgKyBzdHIobil9fSwgJHtufSkKKysgICAgJSBlbmRmb3IK KysKKytkb2N1bWVudGF0aW9uOiB8LQorKyAgVGhlIG9zbW9jb20gJHtzb3Vya30gYmxvY2s6Cisr CisrICBXaGlsZSBwcmltYXJpbHkgYmVpbmcgZGV2ZWxvcGVkIGZvciB0aGUgT3Ntb1NEUiBoYXJk d2FyZSwgdGhpcyBibG9jayBhcyB3ZWxsIHN1cHBvcnRzOgorKworKyAgJSBpZiBzb3VyayA9PSAn c291cmNlJzoKKysgICAqIHN5c21vY29tIE9zbW9TRFIgRGV2aWNlcyB0aHJvdWdoIGxpYm9zbW9z ZHIKKysgICAqIFJUTDI4MzJVIGJhc2VkIERWQi1UIGRvbmdsZXMgdGhyb3VnaCBsaWJydGxzZHIK KysgICAqIFJUTC1UQ1Agc3BlY3RydW0gc2VydmVyIChzZWUgbGlicnRsc2RyIHByb2plY3QpCisr ICAgKiBNU2kyNTAwIGJhc2VkIERWQi1UIGRvbmdsZXMgdGhyb3VnaCBsaWJtaXJpc2RyCisrICAg KiBTRFJwbGF5IFJTUCBkZXZpY2VzIHRocm91Z2ggU0RScGxheSBsaWJyYXJ5CisrICAgKiBnbnVy YWRpbyAuY2ZpbGUgaW5wdXQgdGhyb3VnaCBsaWJnbnVyYWRpby1ibG9ja3MKKysgICAqIFJGU1BB Q0UgU0RSLUlRLCBTRFItSVAsIE5ldFNEUiAoaW5jbC4gWDIgb3B0aW9uKQorKyAgICogQWlyU3B5 IFdpZGViYW5kIFJlY2VpdmVyIHRocm91Z2ggbGliYWlyc3B5CisrICAlIGVuZGlmCisrICAlIGlm IHNvdXJrID09ICdzaW5rJzoKKysgICAqIGdudXJhZGlvIC5jZmlsZSBvdXRwdXQgdGhyb3VnaCBs aWJnbnVyYWRpby1ibG9ja3MKKysgICUgZW5kaWYKKysgICAqIENDQ2FtcCAyMDE1IHJhZDFvIEJh ZGdlIHRocm91Z2ggbGliaGFja3JmCisrICAgKiBHcmVhdCBTY290dCBHYWRnZXRzIEhhY2tSRiB0 aHJvdWdoIGxpYmhhY2tyZgorKyAgICogTnVhbmQgTExDIGJsYWRlUkYgdGhyb3VnaCBsaWJibGFk ZVJGIGxpYnJhcnkKKysgICAqIEV0dHVzIFVTUlAgRGV2aWNlcyB0aHJvdWdoIEV0dHVzIFVIRCBs aWJyYXJ5CisrICAgKiBGYWlyd2F2ZXMgVW1UUlggdGhyb3VnaCBGYWlyd2F2ZXMnIGZvcmsgb2Yg VUhECisrICAgKiBSZWQgUGl0YXlhIFNEUiB0cmFuc2NlaXZlciAoaHR0cDovL2JhemFhci5yZWRw aXRheWEuY29tKQorKyAgICogRnJlZVNSUCB0aHJvdWdoIGxpYmZyZWVzcnAgbGlicmFyeQorKwor KyAgQnkgdXNpbmcgdGhlIG9zbW9jb20gJHNvdXJrIGJsb2NrIHlvdSBjYW4gdGFrZSBhZHZhbnRh Z2Ugb2YgYSBjb21tb24gc29mdHdhcmUgYXBpIGluIHlvdXIgYXBwbGljYXRpb24ocykgaW5kZXBl bmRlbnQgb2YgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrCisrICBPdXRwdXQgVHlw ZToKKysgIFRoaXMgcGFyYW1ldGVyIGNvbnRyb2xzIHRoZSBkYXRhIHR5cGUgb2YgdGhlIHN0cmVh bSBpbiBnbnVyYWRpby4gT25seSBjb21wbGV4IGZsb2F0MzIgc2FtcGxlcyBhcmUgc3VwcG9ydGVk IGF0IHRoZSBtb21lbnQuCisrCisrICBEZXZpY2UgQXJndW1lbnRzOgorKyAgVGhlIGRldmljZSBh cmd1bWVudCBpcyBhIGNvbW1hIGRlbGltaXRlZCBzdHJpbmcgdXNlZCB0byBsb2NhdGUgZGV2aWNl cyBvbiB5b3VyIHN5c3RlbS4gRGV2aWNlIGFyZ3VtZW50cyBmb3IgbXVsdGlwbGUgZGV2aWNlcyBt YXkgYmUgZ2l2ZW4gYnkgc2VwYXJhdGluZyB0aGVtIHdpdGggYSBzcGFjZS4KKysgIFVzZSB0aGUg ZGV2aWNlIGlkIG9yIG5hbWUvc2VyaWFsIChpZiBhcHBsaWNhYmxlKSB0byBzcGVjaWZ5IGEgY2Vy dGFpbiBkZXZpY2Ugb3IgbGlzdCBvZiBkZXZpY2VzLiBJZiBsZWZ0IGJsYW5rLCB0aGUgZmlyc3Qg ZGV2aWNlIGZvdW5kIHdpbGwgYmUgdXNlZC4KKysKKysgIEV4YW1wbGVzOgorKworKyAgT3B0aW9u YWwgYXJndW1lbnRzIGFyZSBwbGFjZWQgaW50byBbXSBicmFja2V0cywgcmVtb3ZlIHRoZSBicmFj a2V0cyBiZWZvcmUgdXNpbmcgdGhlbSEgU3BlY2lmaWMgdmFyaWFibGUgdmFsdWVzIGFyZSBzZXBh cmF0ZWQgd2l0aCBhIHwsIGNob29zZSBvbmUgb2YgdGhlbS4gVmFyaWFibGUgdmFsdWVzIGNvbnRh aW5pbmcgc3BhY2VzIHNoYWxsIGJlIGVuY2xvc2VkIGluICcnIGFzIGRlbW9uc3RyYXRlZCBpbiBl eGFtcGxlcyBzZWN0aW9uIGJlbG93LgorKyAgTGluZXMgZW5kaW5nIHdpdGggLi4uIG1lYW4gaXQn cyBwb3NzaWJsZSB0byBiaW5kIGRldmljZXMgdG9nZXRoZXIgYnkgc3BlY2lmeWluZyBtdWx0aXBs ZSBkZXZpY2UgYXJndW1lbnRzIHNlcGFyYXRlZCB3aXRoIGEgc3BhY2UuCisrCisrICAlIGlmIHNv dXJrID09ICdzb3VyY2UnOgorKyAgICBtaXJpPTBbLGJ1ZmZlcnM9MzJdIC4uLgorKyAgICBydGw9 c2VyaWFsX251bWJlciAuLi4KKysgICAgcnRsPTBbLHJ0bF94dGFsPTI4LjhlNl1bLHR1bmVyX3h0 YWw9MjguOGU2XSAuLi4KKysgICAgcnRsPTFbLGJ1ZmZlcnM9MzJdWyxidWZsZW49Tio1MTJdIC4u LgorKyAgICBydGw9MlssZGlyZWN0X3NhbXA9MHwxfDJdWyxvZmZzZXRfdHVuZT0wfDFdWyxiaWFz PTB8MV0gLi4uCisrICAgIHJ0bF90Y3A9MTI3LjAuMC4xOjEyMzRbLHBzaXplPTE2Mzg0XVssZGly ZWN0X3NhbXA9MHwxfDJdWyxvZmZzZXRfdHVuZT0wfDFdWyxiaWFzPTB8MV0gLi4uCisrICAgIG9z bW9zZHI9MFssYnVmZmVycz0zMl1bLGJ1Zmxlbj1OKjUxMl0gLi4uCisrICAgIGZpbGU9Jy9wYXRo L3RvL3lvdXIgZmlsZScscmF0ZT0xZTZbLGZyZXE9MTAwZTZdWyxyZXBlYXQ9dHJ1ZV1bLHRocm90 dGxlPXRydWVdIC4uLgorKyAgICBuZXRzZHI9MTI3LjAuMC4xWzo1MDAwMF1bLG5jaGFuPTJdCisr ICAgIHNkci1pcD0xMjcuMC4wLjFbOjUwMDAwXQorKyAgICBjbG91ZGlxPTEyNy4wLjAuMVs6NTAw MDBdCisrICAgIHNkci1pcT0vZGV2L3R0eVVTQjAKKysgICAgYWlyc3B5PTBbLGJpYXM9MHwxXVss bGluZWFyaXR5XVssc2Vuc2l0aXZpdHldCisrICAlIGVuZGlmCisrICAlIGlmIHNvdXJrID09ICdz aW5rJzoKKysgICAgZmlsZT0nL3BhdGgvdG8veW91ciBmaWxlJyxyYXRlPTFlNlssZnJlcT0xMDBl Nl1bLGFwcGVuZD10cnVlXVssdGhyb3R0bGU9dHJ1ZV0gLi4uCisrICAlIGVuZGlmCisrICAgIHJl ZHBpdGF5YT0xOTIuMTY4LjEuMTAwWzoxMDAxXQorKyAgICBmcmVlc3JwPTBbLGZ4Mz0ncGF0aC90 by9meDMuaW1nJyxmcGdhPSdwYXRoL3RvL2ZwZ2EuYmluJyxsb29wYmFja10KKysgICAgaGFja3Jm PTBbLGJ1ZmZlcnM9MzJdWyxiaWFzPTB8MV1bLGJpYXNfdHg9MHwxXQorKyAgICBibGFkZXJmPTBb LHRhbWVyPWludGVybmFsfGV4dGVybmFsfGV4dGVybmFsXzFwcHNdWyxzbWI9MjVlNl0KKysgICAg dWhkWyxzZXJpYWw9Li4uXVssbG9fb2Zmc2V0PTBdWyxtY3I9NTJlNl1bLG5jaGFuPTJdWyxzdWJk ZXY9J1xcXFwnQjowIEE6MFxcXFwnJ10gLi4uCisrCisrICBOdW0gQ2hhbm5lbHM6CisrICBTZWxl Y3RzIHRoZSB0b3RhbCBudW1iZXIgb2YgY2hhbm5lbHMgaW4gdGhpcyBtdWx0aS1kZXZpY2UgY29u ZmlndXJhdGlvbi4gUmVxdWlyZWQgd2hlbiBzcGVjaWZ5aW5nIG11bHRpcGxlIGRldmljZSBhcmd1 bWVudHMuCisrCisrICBTYW1wbGUgUmF0ZToKKysgIFRoZSBzYW1wbGUgcmF0ZSBpcyB0aGUgbnVt YmVyIG9mIHNhbXBsZXMgcGVyIHNlY29uZCBvdXRwdXQgYnkgdGhpcyBibG9jayBvbiBlYWNoIGNo YW5uZWwuCisrCisrICBGcmVxdWVuY3k6CisrICBUaGUgY2VudGVyIGZyZXF1ZW5jeSBpcyB0aGUg ZnJlcXVlbmN5IHRoZSBSRiBjaGFpbiBpcyB0dW5lZCB0by4KKysKKysgIEZyZXEuIENvcnIuOgor KyAgVGhlIGZyZXF1ZW5jeSBjb3JyZWN0aW9uIGZhY3RvciBpbiBwYXJ0cyBwZXIgbWlsbGlvbiAo cHBtKS4gU2V0IHRvIDAgaWYgdW5rbm93bi4KKysKKysgICUgaWYgc291cmsgPT0gJ3NvdXJjZSc6 CisrICBEQyBPZmZzZXQgTW9kZToKKysgIENvbnRyb2xzIHRoZSBiZWhhdmlvciBvZiBoYXJkd2Fy ZSBEQyBvZmZzZXQgY29ycnJlY3Rpb24uCisrICAgIE9mZjogRGlzYWJsZSBjb3JyZWN0aW9uIGFs Z29yaXRobSAocGFzcyB0aHJvdWdoKS4KKysgICAgTWFudWFsOiBLZWVwIGxhc3QgZXN0aW1hdGVk IGNvcnJlY3Rpb24gd2hlbiBzd2l0Y2hlZCBmcm9tIEF1dG9tYXRpYyB0byBNYW51YWwuCisrICAg IEF1dG9tYXRpYzogUGVyaW9kaWNhbGxseSBmaW5kIHRoZSBiZXN0IHNvbHV0aW9uIHRvIGNvbXBl bnNhdGUgZm9yIERDIG9mZnNldC4KKysKKysgIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBhdmFpbGFi bGUgZm9yIFVTUlAgZGV2aWNlcyBvbmx5LgorKworKyAgSVEgQmFsYW5jZSBNb2RlOgorKyAgQ29u dHJvbHMgdGhlIGJlaGF2aW9yIG9mIHNvZnR3YXJlIElRIGltYmFsYW5jZSBjb3JycmVjdGlvbi4K KysgICAgT2ZmOiBEaXNhYmxlIGNvcnJlY3Rpb24gYWxnb3JpdGhtIChwYXNzIHRocm91Z2gpLgor KyAgICBNYW51YWw6IEtlZXAgbGFzdCBlc3RpbWF0ZWQgY29ycmVjdGlvbiB3aGVuIHN3aXRjaGVk IGZyb20gQXV0b21hdGljIHRvIE1hbnVhbC4KKysgICAgQXV0b21hdGljOiBQZXJpb2RpY2FsbGx5 IGZpbmQgdGhlIGJlc3Qgc29sdXRpb24gdG8gY29tcGVuc2F0ZSBmb3IgaW1hZ2Ugc2lnbmFscy4K KysKKysgIFRoaXMgZnVuY3Rpb25hbGl0eSBkZXBlbmRzIG9uIGh0dHA6Ly9jZ2l0Lm9zbW9jb20u b3JnL2NnaXQvZ3ItaXFiYWwvCisrCisrICBHYWluIE1vZGU6CisrICBDaG9vc2VzIGJldHdlZW4g dGhlIG1hbnVhbCAoZGVmYXVsdCkgYW5kIGF1dG9tYXRpYyBnYWluIG1vZGUgd2hlcmUgYXBwcm9w cmlhdGUuCisrICBUbyBhbGxvdyBtYW51YWwgY29udHJvbCBvZiBSRi9JRi9CQiBnYWluIHN0YWdl cywgbWFudWFsIGdhaW4gbW9kZSBtdXN0IGJlIGNvbmZpZ3VyZWQuCisrICBDdXJyZW50bHksIG9u bHkgUlRMLVNEUiBkZXZpY2VzIHN1cHBvcnQgYXV0b21hdGljIGdhaW4gbW9kZS4KKysKKysgICUg ZW5kaWYKKysgIFJGIEdhaW46CisrICBPdmVyYWxsIFJGIGdhaW4gb2YgdGhlIGRldmljZS4KKysK KysgIElGIEdhaW46CisrICBPdmVyYWxsIGludGVybWVkaWF0ZSBmcmVxdWVuY3kgZ2FpbiBvZiB0 aGUgZGV2aWNlLgorKyAgVGhpcyBzZXR0aW5nIGlzIGF2YWlsYWJsZSBmb3IgUlRMLVNEUiBhbmQg T3Ntb1NEUiBkZXZpY2VzIHdpdGggRTQwMDAgdHVuZXJzIGFuZCBIYWNrUkYgaW4gcmVjZWl2ZSBh bmQgdHJhbnNtaXQgbW9kZS4gT2JzZXJ2YXRpb25zIGxlYWQgdG8gYSByZWFzb25hYmxlIGdhaW4g cmFuZ2UgZnJvbSAxNSB0byAzMGRCLgorKworKyAgQkIgR2FpbjoKKysgIE92ZXJhbGwgYmFzZWJh bmQgZ2FpbiBvZiB0aGUgZGV2aWNlLgorKyAgVGhpcyBzZXR0aW5nIGlzIGF2YWlsYWJsZSBmb3Ig SGFja1JGIGluIHJlY2VpdmUgbW9kZS4gT2JzZXJ2YXRpb25zIGxlYWQgdG8gYSByZWFzb25hYmxl IGdhaW4gcmFuZ2UgZnJvbSAxNSB0byAzMGRCLgorKworKyAgQW50ZW5uYToKKysgIEZvciBkZXZp Y2VzIHdpdGggb25seSBvbmUgYW50ZW5uYSwgdGhpcyBtYXkgYmUgbGVmdCBibGFuay4KKysgIE90 aGVyd2lzZSwgdGhlIHVzZXIgc2hvdWxkIHNwZWNpZnkgb25lIG9mIHRoZSBwb3NzaWJsZSBhbnRl bm5hIGNob2ljZXMuCisrCisrICBCYW5kd2lkdGg6CisrICBTZXQgdGhlIGJhbmRwYXNzIGZpbHRl ciBvbiB0aGUgcmFkaW8gZnJvbnRlbmQuIFRvIHVzZSB0aGUgZGVmYXVsdCAoYXV0b21hdGljKSBi YW5kd2lkdGggZmlsdGVyIHNldHRpbmcsIHRoaXMgc2hvdWxkIGJlIHplcm8uCisrCisrICBTZWUg dGhlIE9zbW9TRFIgcHJvamVjdCBwYWdlIGZvciBtb3JlIGRldGFpbGVkIGRvY3VtZW50YXRpb246 CisrICBodHRwOi8vc2RyLm9zbW9jb20ub3JnL3RyYWMvd2lraS9Hck9zbW9TRFIKKysgIGh0dHA6 Ly9zZHIub3Ntb2NvbS5vcmcvdHJhYy93aWtpL3J0bC1zZHIKKysgIGh0dHA6Ly9zZHIub3Ntb2Nv bS5vcmcvdHJhYy8KKysgIAorK2ZpbGVfZm9ybWF0OiAxCisgIiIiCisgCisrIyBNQUlOX1RNUEwg PSAiIiJcCisrIyA8YmxvY2s+CisrIyAgIDxjaGVjaz4kbWF4X25jaGFuID49IFwkbmNoYW48L2No ZWNrPgorKyMgICA8Y2hlY2s+XCRuY2hhbiA+IDA8L2NoZWNrPgorKyMgICA8Y2hlY2s+JG1heF9t Ym9hcmRzID49IFwkbnVtX21ib2FyZHM8L2NoZWNrPgorKyMgICA8Y2hlY2s+XCRudW1fbWJvYXJk cyA+IDA8L2NoZWNrPgorKyMgICA8Y2hlY2s+XCRuY2hhbiA+PSBcJG51bV9tYm9hcmRzPC9jaGVj az4KKysjIDwvYmxvY2s+CisrIyAiIiIKKysKKyBQQVJBTVNfVE1QTCA9ICIiIgorLSAgPHBhcmFt PgorLSAgICA8bmFtZT5DaCQobik6IEZyZXF1ZW5jeSAoSHopPC9uYW1lPgorLSAgICA8a2V5PmZy ZXEkKG4pPC9rZXk+CistICAgIDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDx0eXBlPnJlYWw8 L3R5cGU+CistICAgIDxoaWRlPlwjaWYgXCRuY2hhbigpID4gJG4gdGhlbiAnbm9uZScgZWxzZSAn YWxsJyM8L2hpZGU+CistICA8L3BhcmFtPgorLSAgPHBhcmFtPgorLSAgPG5hbWU+Q2gkKG4pOiBG cmVxLiBDb3JyLiAocHBtKTwvbmFtZT4KKy0gICAgPGtleT5jb3JyJChuKTwva2V5PgorLSAgICA8 dmFsdWU+MDwvdmFsdWU+CistICAgIDx0eXBlPnJlYWw8L3R5cGU+CistICAgIDxoaWRlPlwjaWYg XCRuY2hhbigpID4gJG4gdGhlbiAnbm9uZScgZWxzZSAnYWxsJyM8L2hpZGU+CistICA8L3BhcmFt PgorLSNpZiAkc291cmsgPT0gJ3NvdXJjZSc6CistICA8cGFyYW0+CistICAgIDxuYW1lPkNoJChu KTogREMgT2Zmc2V0IE1vZGU8L25hbWU+CistICAgIDxrZXk+ZGNfb2Zmc2V0X21vZGUkKG4pPC9r ZXk+CistICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPHR5cGU+aW50PC90eXBlPgorLSAgICA8 aGlkZT5cI2lmIFwkbmNoYW4oKSA+ICRuIHRoZW4gJ25vbmUnIGVsc2UgJ2FsbCcjPC9oaWRlPgor LSAgICA8b3B0aW9uPgorLSAgICAgIDxuYW1lPk9mZjwvbmFtZT4KKy0gICAgICA8a2V5PjA8L2tl eT4KKy0gICAgPC9vcHRpb24+CistICAgIDxvcHRpb24+CistICAgICAgPG5hbWU+TWFudWFsPC9u YW1lPgorLSAgICAgIDxrZXk+MTwva2V5PgorLSAgICA8L29wdGlvbj4KKy0gICAgPG9wdGlvbj4K Ky0gICAgICA8bmFtZT5BdXRvbWF0aWM8L25hbWU+CistICAgICAgPGtleT4yPC9rZXk+CistICAg IDwvb3B0aW9uPgorLSAgPC9wYXJhbT4KKy0gIDxwYXJhbT4KKy0gICAgPG5hbWU+Q2gkKG4pOiBJ USBCYWxhbmNlIE1vZGU8L25hbWU+CistICAgIDxrZXk+aXFfYmFsYW5jZV9tb2RlJChuKTwva2V5 PgorLSAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDx0eXBlPmludDwvdHlwZT4KKy0gICAgPGhp ZGU+XCNpZiBcJG5jaGFuKCkgPiAkbiB0aGVuICdub25lJyBlbHNlICdhbGwnIzwvaGlkZT4KKy0g ICAgPG9wdGlvbj4KKy0gICAgICA8bmFtZT5PZmY8L25hbWU+CistICAgICAgPGtleT4wPC9rZXk+ CistICAgIDwvb3B0aW9uPgorLSAgICA8b3B0aW9uPgorLSAgICAgIDxuYW1lPk1hbnVhbDwvbmFt ZT4KKy0gICAgICA8a2V5PjE8L2tleT4KKy0gICAgPC9vcHRpb24+CistICAgIDxvcHRpb24+Cist ICAgICAgPG5hbWU+QXV0b21hdGljPC9uYW1lPgorLSAgICAgIDxrZXk+Mjwva2V5PgorLSAgICA8 L29wdGlvbj4KKy0gIDwvcGFyYW0+CistICA8cGFyYW0+CistICAgIDxuYW1lPkNoJChuKTogR2Fp biBNb2RlPC9uYW1lPgorLSAgICA8a2V5PmdhaW5fbW9kZSQobik8L2tleT4KKy0gICAgPHZhbHVl PkZhbHNlPC92YWx1ZT4KKy0gICAgPHR5cGU+Ym9vbDwvdHlwZT4KKy0gICAgPGhpZGU+XCNpZiBc JG5jaGFuKCkgPiAkbiB0aGVuICdub25lJyBlbHNlICdhbGwnIzwvaGlkZT4KKy0gICAgPG9wdGlv bj4KKy0gICAgICA8bmFtZT5NYW51YWw8L25hbWU+CistICAgICAgPGtleT5GYWxzZTwva2V5Pgor LSAgICA8L29wdGlvbj4KKy0gICAgPG9wdGlvbj4KKy0gICAgICA8bmFtZT5BdXRvbWF0aWM8L25h bWU+CistICAgICAgPGtleT5UcnVlPC9rZXk+CistICAgIDwvb3B0aW9uPgorLSAgPC9wYXJhbT4K Ky0jZW5kIGlmCistICA8cGFyYW0+CistICAgIDxuYW1lPkNoJChuKTogUkYgR2FpbiAoZEIpPC9u YW1lPgorLSAgICA8a2V5PmdhaW4kKG4pPC9rZXk+CistICAgIDx2YWx1ZT4xMDwvdmFsdWU+Cist ICAgIDx0eXBlPnJlYWw8L3R5cGU+CistICAgIDxoaWRlPlwjaWYgXCRuY2hhbigpID4gJG4gdGhl biAnbm9uZScgZWxzZSAnYWxsJyM8L2hpZGU+CistICA8L3BhcmFtPgorLSAgPHBhcmFtPgorLSAg ICA8bmFtZT5DaCQobik6IElGIEdhaW4gKGRCKTwvbmFtZT4KKy0gICAgPGtleT5pZl9nYWluJChu KTwva2V5PgorLSAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8dHlwZT5yZWFsPC90eXBlPgor LSAgICA8aGlkZT5cI2lmIFwkbmNoYW4oKSA+ICRuIHRoZW4gJ25vbmUnIGVsc2UgJ2FsbCcjPC9o aWRlPgorLSAgPC9wYXJhbT4KKy0gIDxwYXJhbT4KKy0gICAgPG5hbWU+Q2gkKG4pOiBCQiBHYWlu IChkQik8L25hbWU+CistICAgIDxrZXk+YmJfZ2FpbiQobik8L2tleT4KKy0gICAgPHZhbHVlPjIw PC92YWx1ZT4KKy0gICAgPHR5cGU+cmVhbDwvdHlwZT4KKy0gICAgPGhpZGU+XCNpZiBcJG5jaGFu KCkgPiAkbiB0aGVuICdub25lJyBlbHNlICdhbGwnIzwvaGlkZT4KKy0gIDwvcGFyYW0+CistICA8 cGFyYW0+CistICAgIDxuYW1lPkNoJChuKTogQW50ZW5uYTwvbmFtZT4KKy0gICAgPGtleT5hbnQk KG4pPC9rZXk+CistICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8dHlwZT5zdHJpbmc8L3R5cGU+ CistICAgIDxoaWRlPgorLSAgICAgIFwjaWYgbm90IFwkbmNoYW4oKSA+ICRuCistICAgICAgICBh bGwKKy0gICAgICBcI2VsaWYgXCRhbnQkKG4pKCkKKy0gICAgICAgIG5vbmUKKy0gICAgICBcI2Vs c2UKKy0gICAgICAgIHBhcnQKKy0gICAgICBcI2VuZCBpZgorLSAgICA8L2hpZGU+CistICA8L3Bh cmFtPgorLSAgPHBhcmFtPgorLSAgICA8bmFtZT5DaCQobik6IEJhbmR3aWR0aCAoSHopPC9uYW1l PgorLSAgICA8a2V5PmJ3JChuKTwva2V5PgorLSAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDx0 eXBlPnJlYWw8L3R5cGU+CistICAgIDxoaWRlPgorLSAgICAgIFwjaWYgbm90IFwkbmNoYW4oKSA+ ICRuCistICAgICAgICBhbGwKKy0gICAgICBcI2VsaWYgXCRidyQobikoKQorLSAgICAgICAgbm9u ZQorLSAgICAgIFwjZWxzZQorLSAgICAgICAgcGFydAorLSAgICAgIFwjZW5kIGlmCistICAgIDwv aGlkZT4KKy0gIDwvcGFyYW0+CisrLSBpZDogZnJlcSR7bn0KKysgIGxhYmVsOiAnQ2gke259OiBG cmVxdWVuY3kgKEh6KScKKysgIGR0eXBlOiByZWFsCisrICBkZWZhdWx0OiAxMDBlNgorKyAgaGlk ZTogJHsnJCd9eydub25lJyBpZiAobmNoYW4gPiAke259KSBlbHNlICdhbGwnfQorKy0gaWQ6IGNv cnIke259CisrICBsYWJlbDogJ0NoJHtufTogRnJlcXVlbmN5IENvcnJlY3Rpb24gKHBwbSknCisr ICBkdHlwZTogcmVhbAorKyAgZGVmYXVsdDogMAorKyAgaGlkZTogJHsnJCd9eydub25lJyBpZiAo bmNoYW4gPiAke259KSBlbHNlICdhbGwnfQorKyUgaWYgc291cmsgPT0gJ3NvdXJjZSc6CisrLSBp ZDogZGNfb2Zmc2V0X21vZGUke259CisrICBsYWJlbDogJ0NoJHtufTogREMgT2Zmc2V0IE1vZGUn CisrICBkdHlwZTogaW50CisrICBkZWZhdWx0OiAwCisrICBvcHRpb25zOiBbMCwgMSwgMl0KKysg IG9wdGlvbnNfbGFiZWxzOiBbT2ZmLCBNYW51YWwsIEF1dG9tYXRpY10KKysgIGhpZGU6ICR7JyQn fXsnbm9uZScgaWYgKG5jaGFuID4gJHtufSkgZWxzZSAnYWxsJ30KKystIGlkOiBpcV9iYWxhbmNl X21vZGUke259CisrICBsYWJlbDogJ0NoJHtufTogSVEgQmFsYW5jZSBNb2RlJworKyAgZHR5cGU6 IGludAorKyAgZGVmYXVsdDogMAorKyAgb3B0aW9uczogWzAsIDEsIDJdCisrICBvcHRpb25zX2xh YmVsczogW09mZiwgTWFudWFsLCBBdXRvbWF0aWNdCisrICBoaWRlOiAkeyckJ317J25vbmUnIGlm IChuY2hhbiA+ICR7bn0pIGVsc2UgJ2FsbCd9CisrLSBpZDogZ2Fpbl9tb2RlJHtufQorKyAgbGFi ZWw6ICdDaCR7bn06IEdhaW4gTW9kZScKKysgIGR0eXBlOiBib29sCisrICBkZWZhdWx0OiBGYWxz ZQorKyAgb3B0aW9uczogW0ZhbHNlLCBUcnVlXQorKyAgb3B0aW9uc19sYWJlbHM6IFtNYW51YWws IEF1dG9tYXRpY10KKysgIGhpZGU6ICR7JyQnfXsnbm9uZScgaWYgKG5jaGFuID4gJHtufSkgZWxz ZSAnYWxsJ30KKyslIGVuZGlmCisrLSBpZDogZ2FpbiR7bn0KKysgIGxhYmVsOiAnQ2gke259OiBS RiBHYWluIChkQiknCisrICBkdHlwZTogcmVhbAorKyAgZGVmYXVsdDogMTAKKysgIGhpZGU6ICR7 JyQnfXsnbm9uZScgaWYgKG5jaGFuID4gJHtufSkgZWxzZSAnYWxsJ30KKystIGlkOiBpZl9nYWlu JHtufQorKyAgbGFiZWw6ICdDaCR7bn06IElGIEdhaW4gKGRCKScKKysgIGR0eXBlOiByZWFsCisr ICBkZWZhdWx0OiAyMAorKyAgaGlkZTogJHsnJCd9eydub25lJyBpZiAobmNoYW4gPiAke259KSBl bHNlICdhbGwnfQorKy0gaWQ6IGJiX2dhaW4ke259CisrICBsYWJlbDogJ0NoJHtufTogQkIgR2Fp biAoZEIpJworKyAgZHR5cGU6IHJlYWwKKysgIGRlZmF1bHQ6IDIwCisrICBoaWRlOiAkeyckJ317 J25vbmUnIGlmIChuY2hhbiA+ICR7bn0pIGVsc2UgJ2FsbCd9CisrLSBpZDogYW50JHtufQorKyAg bGFiZWw6ICdDaCR7bn06IEFudGVubmEnCisrICBkdHlwZTogc3RyaW5nCisrICBkZWZhdWx0OiAi IgorKyAgaGlkZTogJHsnJCd9eydhbGwnIGlmIG5vdCAobmNoYW4gPiAke259KSBlbHNlICgnbm9u ZScgaWYgZXZhbCgnYW50JyArIHN0cihuKSkgZWxzZSAncGFydCcpfQorKy0gaWQ6IGJ3JHtufQor KyAgbGFiZWw6ICdDaCR7bn06IEJhbmR3aWR0aCAoSHopJworKyAgZHR5cGU6IHJlYWwKKysgIGRl ZmF1bHQ6IDAKKysgIGhpZGU6ICR7JyQnfXsnYWxsJyBpZiBub3QgKG5jaGFuID4gJHtufSkgZWxz ZSAoJ25vbmUnIGlmIGV2YWwoJ2J3JyArIHN0cihuKSkgZWxzZSAncGFydCcpfQorICIiIgorIAor KyMgZGVmIHBhcnNlX3RtcGwoX3RtcGwsICoqa3dhcmdzKToKKysjICAgICBmcm9tIENoZWV0YWgg aW1wb3J0IFRlbXBsYXRlCisrIyAgICAgcmV0dXJuIHN0cihUZW1wbGF0ZS5UZW1wbGF0ZShfdG1w bCwga3dhcmdzKSkKKysKKyBkZWYgcGFyc2VfdG1wbChfdG1wbCwgKiprd2FyZ3MpOgorLSAgZnJv bSBDaGVldGFoIGltcG9ydCBUZW1wbGF0ZQorLSAgcmV0dXJuIHN0cihUZW1wbGF0ZS5UZW1wbGF0 ZShfdG1wbCwga3dhcmdzKSkKKysgICAgZnJvbSBtYWtvLnRlbXBsYXRlIGltcG9ydCBUZW1wbGF0 ZQorKyAgICBmcm9tIG1ha28gaW1wb3J0IGV4Y2VwdGlvbnMKKysKKysgICAgdHJ5OgorKyAgICAg ICAgYmxvY2tfdGVtcGxhdGUgPSBUZW1wbGF0ZShfdG1wbCkKKysgICAgICAgIHJldHVybiBzdHIo YmxvY2tfdGVtcGxhdGUucmVuZGVyKCoqa3dhcmdzKSkKKysgICAgZXhjZXB0OgorKyAgICAgICAg cHJpbnQoZXhjZXB0aW9ucy50ZXh0X2Vycm9yX3RlbXBsYXRlKCkucmVuZGVyKCkpCisgCistbWF4 X251bV9tYm9hcmRzID0gOAorLW1heF9udW1fY2hhbm5lbHMgPSBtYXhfbnVtX21ib2FyZHMqNAor K01BWF9OVU1fTUJPQVJEUyA9IDgKKytNQVhfTlVNX0NIQU5ORUxTID0gTUFYX05VTV9NQk9BUkRT ICogNAorIAorIGltcG9ydCBvcy5wYXRoCisgCisgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoK Ky0gIGltcG9ydCBzeXMKKy0gIGZvciBmaWxlIGluIHN5cy5hcmd2WzE6XToKKy0gICAgaGVhZCwg dGFpbCA9IG9zLnBhdGguc3BsaXQoZmlsZSkKKy0KKy0gICAgaWYgdGFpbC5zdGFydHN3aXRoKCdy dGxzZHInKToKKy0gICAgICB0aXRsZSA9ICdSVEwtU0RSJworLSAgICAgIHByZWZpeCA9ICdydGxz ZHInCistICAgIGVsaWYgdGFpbC5zdGFydHN3aXRoKCdvc21vc2RyJyk6CistICAgICAgdGl0bGUg PSAnb3Ntb2NvbScKKy0gICAgICBwcmVmaXggPSAnb3Ntb3NkcicKKy0gICAgZWxzZTogcmFpc2Ug RXhjZXB0aW9uKCJmaWxlIHt9IGhhcyB3cm9uZyBzeW50YXghIi5mb3JtYXQodGFpbCkpCistCist ICAgIGlmIHRhaWwuZW5kc3dpdGggKCdzb3VyY2UueW1sJyk6CistICAgICAgc291cmsgPSAnc291 cmNlJworLSAgICAgIGRpciA9ICdvdXQnCistICAgIGVsaWYgdGFpbC5lbmRzd2l0aCAoJ3Npbmsu eW1sJyk6CistICAgICAgc291cmsgPSAnc2luaycKKy0gICAgICBkaXIgPSAnaW4nCistICAgIGVs c2U6IHJhaXNlIEV4Y2VwdGlvbigiaXMge30gYSBzb3VyY2Ugb3Igc2luaz8iLmZvcm1hdChmaWxl KSkKKy0KKy0gICAgcGFyYW1zID0gJycuam9pbihbcGFyc2VfdG1wbChQQVJBTVNfVE1QTCwgbj1u LCBzb3Vyaz1zb3VyaykgZm9yIG4gaW4gcmFuZ2UobWF4X251bV9jaGFubmVscyldKQorLSAgICBv cGVuKGZpbGUsICd3Jykud3JpdGUocGFyc2VfdG1wbChNQUlOX1RNUEwsCistICAgICAgbWF4X25j aGFuPW1heF9udW1fY2hhbm5lbHMsCistICAgICAgbWF4X21ib2FyZHM9bWF4X251bV9tYm9hcmRz LAorLSAgICAgIHBhcmFtcz1wYXJhbXMsCistICAgICAgdGl0bGU9dGl0bGUsCistICAgICAgcHJl Zml4PXByZWZpeCwKKy0gICAgICBzb3Vyaz1zb3VyaywKKy0gICAgICBkaXI9ZGlyLAorLSAgICAp KQorKyAgICBpbXBvcnQgc3lzCisrCisrICAgIGZvciBmaWxlIGluIHN5cy5hcmd2WzE6XToKKysg ICAgICAgIGhlYWQsIHRhaWwgPSBvcy5wYXRoLnNwbGl0KGZpbGUpCisrCisrICAgICAgICBpZiB0 YWlsLnN0YXJ0c3dpdGgoJ3J0bHNkcicpOgorKyAgICAgICAgICAgIHRpdGxlID0gJ1JUTC1TRFIn CisrICAgICAgICAgICAgcHJlZml4ID0gJ3J0bHNkcicKKysgICAgICAgIGVsaWYgdGFpbC5zdGFy dHN3aXRoKCdvc21vc2RyJyk6CisrICAgICAgICAgICAgdGl0bGUgPSAnb3Ntb2NvbScKKysgICAg ICAgICAgICBwcmVmaXggPSAnb3Ntb3NkcicKKysgICAgICAgIGVsc2U6CisrICAgICAgICAgICAg cmFpc2UgRXhjZXB0aW9uKCJmaWxlIHt9IGhhcyB3cm9uZyBzeW50YXghIi5mb3JtYXQodGFpbCkp CisrCisrICAgICAgICBpZiB0YWlsLmVuZHN3aXRoKCdzb3VyY2UueW1sJyk6CisrICAgICAgICAg ICAgc291cmsgPSAnc291cmNlJworKyAgICAgICAgICAgIGRpcmVjdGlvbiA9ICdvdXQnCisrICAg ICAgICBlbGlmIHRhaWwuZW5kc3dpdGgoJ3NpbmsueW1sJyk6CisrICAgICAgICAgICAgc291cmsg PSAnc2luaycKKysgICAgICAgICAgICBkaXJlY3Rpb24gPSAnaW4nCisrICAgICAgICBlbHNlOgor KyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiaXMge30gYSBzb3VyY2Ugb3Igc2luaz8iLmZv cm1hdChmaWxlKSkKKysKKysgICAgICAgIHBhcmFtcyA9ICcnLmpvaW4oWworKyAgICAgICAgICAg IHBhcnNlX3RtcGwoUEFSQU1TX1RNUEwsIG49biwgc291cms9c291cmspCisrICAgICAgICAgICAg Zm9yIG4gaW4gcmFuZ2UoTUFYX05VTV9DSEFOTkVMUykKKysgICAgICAgIF0pCisrCisrICAgICAg ICBvcGVuKGZpbGUsICd3Jykud3JpdGUoCisrICAgICAgICAgICAgcGFyc2VfdG1wbCgKKysgICAg ICAgICAgICAgICAgTUFJTl9UTVBMLAorKyAgICAgICAgICAgICAgICBtYXhfbmNoYW49TUFYX05V TV9DSEFOTkVMUywKKysgICAgICAgICAgICAgICAgbWF4X21ib2FyZHM9TUFYX05VTV9NQk9BUkRT LAorKyAgICAgICAgICAgICAgICBwYXJhbXM9cGFyYW1zLAorKyAgICAgICAgICAgICAgICB0aXRs ZT10aXRsZSwKKysgICAgICAgICAgICAgICAgcHJlZml4PXByZWZpeCwKKysgICAgICAgICAgICAg ICAgc291cms9c291cmssCisrICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1kaXJlY3Rpb24sCisr ICAgICAgICAgICAgKQorKyAgICAgICAgKQorLS0gCisyLjIwLjEKKworRnJvbSA5NjE1YzhmMTU0 ZWY2MzYyYjA1YjM3YTFhNzUxMzgwMDQ2MjU3Yzc4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogPT9VVEYtOD9xP01pY2tleT0yMFY9QzM9QTRuc2s9QzM9QTQ/PSA8bXZhZW5za2FlQGdt YWlsLmNvbT4KK0RhdGU6IFdlZCwgMyBBcHIgMjAxOSAyMzoyODozNyArMDIwMAorU3ViamVjdDog W1BBVENIIDMvN10gWUFNTCBibG9ja3MgdmlzaWJsZSBhbmQgY2xlYW5lZCB1cCBvZiB0eXBvcy4K K01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworU2lnbmVkLW9mZi1ieTogTWlj a2V5IFbDpG5za8OkIDxtdmFlbnNrYWVAZ21haWwuY29tPgorLS0tCisgZ3JjL0NNYWtlTGlzdHMu dHh0ICAgICAgICB8ICA2ICsrKy0tLQorIGdyYy9nZW5fb3Ntb3Nkcl9ibG9ja3MucHkgfCAyOCAr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRp b25zKCspLCAxNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dyYy9DTWFrZUxpc3RzLnR4 dCBiL2dyYy9DTWFrZUxpc3RzLnR4dAoraW5kZXggMjZiNGQzYS4uNzE0ZDg4YyAxMDA2NDQKKy0t LSBncmMvQ01ha2VMaXN0cy50eHQKKysrKyBncmMvQ01ha2VMaXN0cy50eHQKK0BAIC0zMiw5ICsz Miw5IEBAIG1hY3JvKEdFTl9CTE9DS19ZQU1MIF9nZW5lcmF0b3IgX3lhbWxfYmxvY2spCisgICAg ICkKKyBlbmRtYWNybyhHRU5fQkxPQ0tfWUFNTCkKKyAKKy1HRU5fQkxPQ0tfWUFNTChnZW5fb3Nt b3Nkcl9ibG9ja3MucHkgICAgcnRsc2RyX3NvdXJjZS55bWwpCistR0VOX0JMT0NLX1lBTUwoZ2Vu X29zbW9zZHJfYmxvY2tzLnB5ICAgIG9zbW9zZHJfc291cmNlLnltbCkKKy1HRU5fQkxPQ0tfWUFN TChnZW5fb3Ntb3Nkcl9ibG9ja3MucHkgICAgb3Ntb3Nkcl9zaW5rLnltbCkKKytHRU5fQkxPQ0tf WUFNTChnZW5fb3Ntb3Nkcl9ibG9ja3MucHkgICAgcnRsc2RyX3NvdXJjZS5ibG9jay55bWwpCisr R0VOX0JMT0NLX1lBTUwoZ2VuX29zbW9zZHJfYmxvY2tzLnB5ICAgIG9zbW9zZHJfc291cmNlLmJs b2NrLnltbCkKKytHRU5fQkxPQ0tfWUFNTChnZW5fb3Ntb3Nkcl9ibG9ja3MucHkgICAgb3Ntb3Nk cl9zaW5rLmJsb2NrLnltbCkKKyAKKyBhZGRfY3VzdG9tX3RhcmdldChvc21vc2RyX2dyY195YW1s X2Jsb2NrcyBBTEwgREVQRU5EUyAke3lhbWxfYmxvY2tzfSkKKyAKK2RpZmYgLS1naXQgYS9ncmMv Z2VuX29zbW9zZHJfYmxvY2tzLnB5IGIvZ3JjL2dlbl9vc21vc2RyX2Jsb2Nrcy5weQoraW5kZXgg OGY3MjQ0ZC4uZTMwY2M3MCAxMDA2NDQKKy0tLSBncmMvZ2VuX29zbW9zZHJfYmxvY2tzLnB5Cisr KysgZ3JjL2dlbl9vc21vc2RyX2Jsb2Nrcy5weQorQEAgLTI5LDggKzI5LDggQEAgcGFyYW1ldGVy czoKKyAgIGxhYmVsOiAnJHtkaXJlY3Rpb24udGl0bGUoKX1wdXQgVHlwZScKKyAgIGR0eXBlOiBl bnVtCisgICBvcHRpb25zOiBbZmMzMl0KKy0gIG9wdGlvbnNfbGFiZWxzOiBbQ29tcGxleCBGbG9h dDMyXQorLSAgb3B0aW9uc19hdHRyaWJ1dGVzOgorKyAgb3B0aW9uX2xhYmVsczogW0NvbXBsZXgg RmxvYXQzMl0KKysgIG9wdGlvbl9hdHRyaWJ1dGVzOgorICAgICAgIHR5cGU6IFtmYzMyXQorICAg aGlkZTogcGFydAorIC0gaWQ6IGRldl9hcmdzCitAQCAtNDIsMTEgKzQyLDExIEBAIHBhcmFtZXRl cnM6CisgICBsYWJlbDogU3luYworICAgZHR5cGU6IGVudW0KKyAgIG9wdGlvbnM6IFtzeW5jLCBw Y19jbG9jaywgbm9uZV0KKy0gIG9wdGlvbnNfbGFiZWxzOiBbVW5rbm93biBQUFMsIFBDIENsb2Nr LCBEb24ndCBTeW5jXQorKyAgb3B0aW9uX2xhYmVsczogW1Vua25vd24gUFBTLCBQQyBDbG9jaywg RG9uJ3QgU3luY10KKyAgIGhpZGU6ICR7JyQnfXsgJ25vbmUnIGlmIHN5bmMgZWxzZSAncGFydCd9 CisgLSBpZDogbnVtX21ib2FyZHMKKyAgIGxhYmVsOiAnTnVtYmVyIE1Cb2FyZHMnCistICB0eXBl OiBpbnQKKysgIGR0eXBlOiBpbnQKKyAgIGRlZmF1bHQ6IDEKKyAgIG9wdGlvbnM6IFsgJHsiLCAi LmpvaW4oW3N0cihuKSBmb3IgbiBpbiByYW5nZSgxLCBtYXhfbWJvYXJkcysxKV0pfSBdCisgICBo aWRlOiBwYXJ0CitAQCAtNTUsMTggKzU1LDE4IEBAIHBhcmFtZXRlcnM6CisgICBsYWJlbDogJ01C JHttfTogQ2xvY2sgU291cmNlJworICAgZHR5cGU6IHN0cmluZworICAgb3B0aW9uczogWycnLCBp bnRlcm5hbCwgZXh0ZXJuYWwsIGV4dGVybmFsXzFwcHMsIG1pbW8sIGdwc2RvXQorLSAgb3B0aW9u c19sYWJlbHM6IFtEZWZhdWx0LCBJbnRlcm5hbCwgRXh0ZXJuYWwsIEV4dGVybmFsIDFQUFMsIE1J TU8gQ2FibGUsIE8vQiBHUFNET10KKysgIG9wdGlvbl9sYWJlbHM6IFtEZWZhdWx0LCBJbnRlcm5h bCwgRXh0ZXJuYWwsIEV4dGVybmFsIDFQUFMsIE1JTU8gQ2FibGUsIE8vQiBHUFNET10KKyAgIGhp ZGU6ICR7JyQnfXsgJ2FsbCcgaWYgbm90IChudW1fbWJvYXJkcyA+ICR7bX0pIGVsc2UgKCAnbm9u ZScgaWYgY2xvY2tfc291cmNlJHttfSBlbHNlICdwYXJ0JyApfQorIC0gaWQ6IHRpbWVfc291cmNl JHttfQorICAgbGFiZWw6ICdNQiR7bX06IFRpbWUgU291cmNlJworICAgZHR5cGU6IHN0cmluZwor ICAgb3B0aW9uczogWycnLCBleHRlcm5hbCwgbWltbywgZ3BzZG9dCistICBvcHRpb25zX2xhYmVs czogW0RlZmF1bHQsIEV4dGVybmFsLCBNSU1PIENhYmxlLCBPL0IgR1BTRE9dCisrICBvcHRpb25f bGFiZWxzOiBbRGVmYXVsdCwgRXh0ZXJuYWwsIE1JTU8gQ2FibGUsIE8vQiBHUFNET10KKyAgIGhp ZGU6ICR7JyQnfXsgJ2FsbCcgaWYgbm90IChudW1fbWJvYXJkcyA+ICR7bX0pIGVsc2UgKCAnbm9u ZScgaWYgdGltZV9zb3VyY2Uke219IGVsc2UgJ3BhcnQnICl9ICAKKyAlIGVuZGZvcgorIC0gaWQ6 IG5jaGFuCisgICBsYWJlbDogJ051bWJlciBDaGFubmVscycKKy0gIHR5cGU6IGludAorKyAgZHR5 cGU6IGludAorICAgZGVmYXVsdDogMQorICAgb3B0aW9uczogWyAkeyIsICIuam9pbihbc3RyKG4p IGZvciBuIGluIHJhbmdlKDEsIG1heF9uY2hhbisxKV0pfSBdCisgLSBpZDogc2FtcGxlX3JhdGUK K0BAIC0zMDMsMjEgKzMwMywyMSBAQCBQQVJBTVNfVE1QTCA9ICIiIgorICAgZHR5cGU6IGludAor ICAgZGVmYXVsdDogMAorICAgb3B0aW9uczogWzAsIDEsIDJdCistICBvcHRpb25zX2xhYmVsczog W09mZiwgTWFudWFsLCBBdXRvbWF0aWNdCisrICBvcHRpb25fbGFiZWxzOiBbT2ZmLCBNYW51YWws IEF1dG9tYXRpY10KKyAgIGhpZGU6ICR7JyQnfXsnbm9uZScgaWYgKG5jaGFuID4gJHtufSkgZWxz ZSAnYWxsJ30KKyAtIGlkOiBpcV9iYWxhbmNlX21vZGUke259CisgICBsYWJlbDogJ0NoJHtufTog SVEgQmFsYW5jZSBNb2RlJworICAgZHR5cGU6IGludAorICAgZGVmYXVsdDogMAorICAgb3B0aW9u czogWzAsIDEsIDJdCistICBvcHRpb25zX2xhYmVsczogW09mZiwgTWFudWFsLCBBdXRvbWF0aWNd CisrICBvcHRpb25fbGFiZWxzOiBbT2ZmLCBNYW51YWwsIEF1dG9tYXRpY10KKyAgIGhpZGU6ICR7 JyQnfXsnbm9uZScgaWYgKG5jaGFuID4gJHtufSkgZWxzZSAnYWxsJ30KKyAtIGlkOiBnYWluX21v ZGUke259CisgICBsYWJlbDogJ0NoJHtufTogR2FpbiBNb2RlJworICAgZHR5cGU6IGJvb2wKKyAg IGRlZmF1bHQ6IEZhbHNlCisgICBvcHRpb25zOiBbRmFsc2UsIFRydWVdCistICBvcHRpb25zX2xh YmVsczogW01hbnVhbCwgQXV0b21hdGljXQorKyAgb3B0aW9uX2xhYmVsczogW01hbnVhbCwgQXV0 b21hdGljXQorICAgaGlkZTogJHsnJCd9eydub25lJyBpZiAobmNoYW4gPiAke259KSBlbHNlICdh bGwnfQorICUgZW5kaWYKKyAtIGlkOiBnYWluJHtufQorQEAgLTMzOSwxMiArMzM5LDEyIEBAIFBB UkFNU19UTVBMID0gIiIiCisgICBsYWJlbDogJ0NoJHtufTogQW50ZW5uYScKKyAgIGR0eXBlOiBz dHJpbmcKKyAgIGRlZmF1bHQ6ICIiCistICBoaWRlOiAkeyckJ317J2FsbCcgaWYgbm90IChuY2hh biA+ICR7bn0pIGVsc2UgKCdub25lJyBpZiBldmFsKCdhbnQnICsgc3RyKG4pKSBlbHNlICdwYXJ0 Jyl9CisrICBoaWRlOiAkeyckJ317J2FsbCcgaWYgbm90IChuY2hhbiA+ICR7bn0pIGVsc2UgKCdu b25lJyBpZiBldmFsKCdhbnQnICsgc3RyKCR7bn0pKSBlbHNlICdwYXJ0Jyl9CisgLSBpZDogYnck e259CisgICBsYWJlbDogJ0NoJHtufTogQmFuZHdpZHRoIChIeiknCisgICBkdHlwZTogcmVhbAor ICAgZGVmYXVsdDogMAorLSAgaGlkZTogJHsnJCd9eydhbGwnIGlmIG5vdCAobmNoYW4gPiAke259 KSBlbHNlICgnbm9uZScgaWYgZXZhbCgnYncnICsgc3RyKG4pKSBlbHNlICdwYXJ0Jyl9CisrICBo aWRlOiAkeyckJ317J2FsbCcgaWYgbm90IChuY2hhbiA+ICR7bn0pIGVsc2UgKCdub25lJyBpZiBl dmFsKCdidycgKyBzdHIoJHtufSkpIGVsc2UgJ3BhcnQnKX0KKyAiIiIKKyAKKyAjIGRlZiBwYXJz ZV90bXBsKF90bXBsLCAqKmt3YXJncyk6CitAQCAtMzgxLDEwICszODEsMTAgQEAgaWYgX19uYW1l X18gPT0gJ19fbWFpbl9fJzoKKyAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgcmFpc2UgRXhj ZXB0aW9uKCJmaWxlIHt9IGhhcyB3cm9uZyBzeW50YXghIi5mb3JtYXQodGFpbCkpCisgCistICAg ICAgICBpZiB0YWlsLmVuZHN3aXRoKCdzb3VyY2UueW1sJyk6CisrICAgICAgICBpZiB0YWlsLmVu ZHN3aXRoKCdzb3VyY2UuYmxvY2sueW1sJyk6CisgICAgICAgICAgICAgc291cmsgPSAnc291cmNl JworICAgICAgICAgICAgIGRpcmVjdGlvbiA9ICdvdXQnCistICAgICAgICBlbGlmIHRhaWwuZW5k c3dpdGgoJ3NpbmsueW1sJyk6CisrICAgICAgICBlbGlmIHRhaWwuZW5kc3dpdGgoJ3NpbmsuYmxv Y2sueW1sJyk6CisgICAgICAgICAgICAgc291cmsgPSAnc2luaycKKyAgICAgICAgICAgICBkaXJl Y3Rpb24gPSAnaW4nCisgICAgICAgICBlbHNlOgorLS0gCisyLjIwLjEKKworRnJvbSBiYTcwYjIz NWQ1NmJkODc3MGQ3MDhlNTk1M2IyOTVhZWQ4YWIwMjhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogPT9VVEYtOD9xP01pY2tleT0yMFY9QzM9QTRuc2s9QzM9QTQ/PSA8bXZhZW5za2Fl QGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgNyBBcHIgMjAxOSAxOTo0NDozMyArMDIwMAorU3ViamVj dDogW1BBVENIIDQvN10gRml4ZWQgdmVyc2lvbiB3aGljaCBzaG91bGQgYnVpbGQgYW5kIHJ1biBv biBncjMuOC4KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworU2lnbmVkLW9m Zi1ieTogTWlja2V5IFbDpG5za8OkIDxtdmFlbnNrYWVAZ21haWwuY29tPgorLS0tCisgQ01ha2VM aXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDQgKy0KKyBSRUFETUUgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQorIGFwcHMvQ01ha2VMaXN0 cy50eHQgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstCisgYXBwcy9vc21vY29tX3NpZ2dl bl9iYXNlLnB5ICAgICAgICAgICAgICAgfCAgODYgKy0tCisgY21ha2UvTW9kdWxlcy9GaW5kR251 cmFkaW9GQ0QuY21ha2UgICAgICAgfCAgMzQgKworIGNtYWtlL01vZHVsZXMvRmluZEdudXJhZGlv RkNEUFAuY21ha2UgICAgIHwgIDM0ICsKKyBjbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb0lRQmFs YW5jZS5jbWFrZSB8ICAyOSArCisgY21ha2UvTW9kdWxlcy9GaW5kR251cmFkaW9VSEQuY21ha2Ug ICAgICAgfCAgMzQgKworIGNtYWtlL01vZHVsZXMvRmluZFVIRC5jbWFrZSAgICAgICAgICAgICAg IHwgIDI4ICsKKyBjbWFrZS9Nb2R1bGVzL0dyQ29tcG9uZW50LmNtYWtlICAgICAgICAgICB8IDEx NSArKysrCisgY21ha2UvTW9kdWxlcy9Hck1pc2NVdGlscy5jbWFrZSAgICAgICAgICAgfCA1MTkg KysrKysrKysrKysrKysrCisgY21ha2UvTW9kdWxlcy9HclBsYXRmb3JtLmNtYWtlICAgICAgICAg ICAgfCAgNTQgKysKKyBjbWFrZS9Nb2R1bGVzL0dyUHl0aG9uLmNtYWtlICAgICAgICAgICAgICB8 IDI0MiArKysrKysrCisgY21ha2UvTW9kdWxlcy9HclRlc3QuY21ha2UgICAgICAgICAgICAgICAg fCAxNDMgKysrKworIGNtYWtlL01vZHVsZXMvR3JWZXJzaW9uLmNtYWtlICAgICAgICAgICAgIHwg IDgyICsrKworIGdyYy9nZW5fb3Ntb3Nkcl9ibG9ja3MucHkgICAgICAgICAgICAgICAgIHwgICA2 ICstCisgaW5jbHVkZS9vc21vc2RyL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgfCAgMTIgKy0K KyBpbmNsdWRlL29zbW9zZHIvYXBpLmggICAgICAgICAgICAgICAgICAgICB8ICAgMyArLQorIGlu Y2x1ZGUvb3Ntb3Nkci9zaW5rLmggICAgICAgICAgICAgICAgICAgIHwgNjg5ICsrKysrKysrKyst LS0tLS0tLS0tCisgaW5jbHVkZS9vc21vc2RyL3NvdXJjZS5oICAgICAgICAgICAgICAgICAgfCA3 NTUgKysrKysrKysrKystLS0tLS0tLS0tLQorIGxpYi9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDE1ICstCisgcHl0aG9uL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAg ICAgICAgICAgfCAgIDMgKy0KKyBweXRob24vX19pbml0X18ucHkgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgNyArLQorIHN3aWcvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAg IHwgIDE0ICstCisgc3dpZy9vc21vc2RyX3N3aWcuaSAgICAgICAgICAgICAgICAgICAgICAgfCAg NzAgKy0KKyAyNSBmaWxlcyBjaGFuZ2VkLCAyMjAxIGluc2VydGlvbnMoKyksIDgyNCBkZWxldGlv bnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgY21ha2UvTW9kdWxlcy9GaW5kR251cmFkaW9GQ0Qu Y21ha2UKKyBjcmVhdGUgbW9kZSAxMDA2NDQgY21ha2UvTW9kdWxlcy9GaW5kR251cmFkaW9GQ0RQ UC5jbWFrZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb0lR QmFsYW5jZS5jbWFrZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0ZpbmRHbnVy YWRpb1VIRC5jbWFrZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0ZpbmRVSEQu Y21ha2UKKyBjcmVhdGUgbW9kZSAxMDA2NDQgY21ha2UvTW9kdWxlcy9HckNvbXBvbmVudC5jbWFr ZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0dyTWlzY1V0aWxzLmNtYWtlCisg Y3JlYXRlIG1vZGUgMTAwNjQ0IGNtYWtlL01vZHVsZXMvR3JQbGF0Zm9ybS5jbWFrZQorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0dyUHl0aG9uLmNtYWtlCisgY3JlYXRlIG1vZGUg MTAwNjQ0IGNtYWtlL01vZHVsZXMvR3JUZXN0LmNtYWtlCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGNt YWtlL01vZHVsZXMvR3JWZXJzaW9uLmNtYWtlCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4 dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCBlOTMyZDcwLi5mODM2MjMzIDEwMDY0NAorLS0tIENN YWtlTGlzdHMudHh0CisrKysgQ01ha2VMaXN0cy50eHQKK0BAIC0xLDcgKzEsNiBAQAorLSMgQ29w eXJpZ2h0IDIwMTEsMjAxMiwyMDE0LDIwMTYsMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKysjIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor ICMKKy0jIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGdyX21vZHRvb2wsIGEgdG9vbCBmcm9t IHRoZSBHTlUgUmFkaW8gZnJhbWV3b3JrCistIyBUaGlzIGZpbGUgaXMgYSBwYXJ0IG9mIGdyLW9z bW9zZHIKKysjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworICMKKyAjIEdOVSBSYWRp byBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CisgIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorQEAgLTQ3LDYgKzQ2LDggQEAgc2V0KENNQUtFX0JVSUxEX1RZUEUg JHtDTUFLRV9CVUlMRF9UWVBFfSBDQUNIRSBTVFJJTkcgIiIpCisgI21ha2Ugc3VyZSBvdXIgbG9j YWwgQ01ha2UgTW9kdWxlcyBwYXRoIGNvbWVzIGZpcnN0CisgbGlzdChJTlNFUlQgQ01BS0VfTU9E VUxFX1BBVEggMCAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlL01vZHVsZXMpCisgCisrc2V0KEVO QUJMRV9OT05GUkVFIEZBTFNFIENBQ0hFIEJPT0wgIkVuYWJsZSBvciBkaXNhYmxlIG5vbmZyZWUg Y29tcG9uZW50cy4iKQorKworICMgU2V0IHRoZSB2ZXJzaW9uIGluZm9ybWF0aW9uIGhlcmUKKyBz ZXQoVkVSU0lPTl9JTkZPX01BSk9SX1ZFUlNJT04gMCkKKyBzZXQoVkVSU0lPTl9JTkZPX0FQSV9D T01QQVQgICAgMSkKK0BAIC0xMDcsMTcgKzEwOCwxMiBAQCBFTFNFSUYoTVNWQykKKyAgICAgRU5E SUYoKQorIEVORElGKCkKKyAKKy0jaWYoKENNQUtFX0NYWF9DT01QSUxFUl9JRCBNQVRDSEVTICJD bGFuZyIgT1IKKy0jICAgIENNQUtFX0NYWF9DT01QSUxFUl9JRCBTVFJFUVVBTCAiR05VIikKKy0j ICAgIEFORCBOT1QgV0lOMzIpCistIyAgICAjaHR0cDovL2djYy5nbnUub3JnL3dpa2kvVmlzaWJp bGl0eQorLSMgICAgYWRkX2RlZmluaXRpb25zKC1mdmlzaWJpbGl0eT1oaWRkZW4pCistI2VuZGlm KCkKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIEluc3RhbGwgZGlyZWN0b3JpZXMKKyAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKy1maW5kX3BhY2thZ2UoR251cmFkaW8gIjMuOCIgUkVRVUlSRUQpICMgU2lkZSBl ZmZlY3Qgb2YgTU9EVUxFX1BBVEggZ2V0dGluZyBwcmVwZW5kZWQgd2l0aCBzeXN0ZW0gY29tcG9u ZW50cworK2ZpbmRfcGFja2FnZShHbnVyYWRpbyBSRVFVSVJFRCkgIyBTaWRlIGVmZmVjdCBvZiBN T0RVTEVfUEFUSCBnZXR0aW5nIHByZXBlbmRlZCB3aXRoIHN5c3RlbSBjb21wb25lbnRzCisrbGlz dChSRVZFUlNFIENNQUtFX01PRFVMRV9QQVRIKQorIHNldChNSU5fR1JfVkVSU0lPTiAiMy44IikK KyBpZigiJHtHbnVyYWRpb19WRVJTSU9OfSIgVkVSU0lPTl9MRVNTIE1JTl9HUl9WRVJTSU9OKQor ICAgICBNRVNTQUdFKEZBVEFMX0VSUk9SICJHbnVSYWRpbyB2ZXJzaW9uIHJlcXVpcmVkOiA+PVwi IiAke01JTl9HUl9WRVJTSU9OfSAiXCIgZm91bmQ6IFwiIiAke0dudXJhZGlvX1ZFUlNJT059ICJc IiIpCitAQCAtMTMwLDE4ICsxMjYsMTkgQEAgaWYoTk9UIENNQUtFX01PRFVMRVNfRElSKQorICAg ICBzZXQoQ01BS0VfTU9EVUxFU19ESVIgbGliJHtMSUJfU1VGRklYfS9jbWFrZSkKKyBlbmRpZihO T1QgQ01BS0VfTU9EVUxFU19ESVIpCisgCistI3NldChHUl9SVU5USU1FX0RJUiAgICAgIGJpbikK KytzZXQoR1JfQ01BS0VfRElSICAgICAgICAke0NNQUtFX01PRFVMRVNfRElSfS9vc21vc2RyKQor K3NldChHUl9SVU5USU1FX0RJUiAgICAgIGJpbikKKyBzZXQoR1JfTElCUkFSWV9ESVIgICAgICBs aWIke0xJQl9TVUZGSVh9KQorLSNzZXQoR1JfSU5DTFVERV9ESVIgICAgICBpbmNsdWRlKQorLSNz ZXQoR1JfREFUQV9ESVIgICAgICAgICBzaGFyZSkKKytzZXQoR1JfSU5DTFVERV9ESVIgICAgICBp bmNsdWRlKQorK3NldChHUl9EQVRBX0RJUiAgICAgICAgIHNoYXJlKQorIHNldChHUl9QS0dfREFU QV9ESVIgICAgICR7R1JfREFUQV9ESVJ9LyR7Q01BS0VfUFJPSkVDVF9OQU1FfSkKKy0jc2V0KEdS X0RPQ19ESVIgICAgICAgICAgJHtHUl9EQVRBX0RJUn0vZG9jKQorK3NldChHUl9ET0NfRElSICAg ICAgICAgICR7R1JfREFUQV9ESVJ9L2RvYykKKyBpZiAoTk9UIEdSX1BLR19ET0NfRElSKQorICAg ICBzZXQoR1JfUEtHX0RPQ19ESVIgICAgICAke0dSX0RPQ19ESVJ9LyR7Q01BS0VfUFJPSkVDVF9O QU1FfSkKKyBlbmRpZigpCistI3NldChHUl9DT05GX0RJUiAgICAgICAgIGV0YykKKytzZXQoR1Jf Q09ORl9ESVIgICAgICAgICBldGMpCisgc2V0KEdSX1BLR19DT05GX0RJUiAgICAgJHtHUl9DT05G X0RJUn0vJHtDTUFLRV9QUk9KRUNUX05BTUV9L2NvbmYuZCkKKy0jc2V0KEdSX0xJQkVYRUNfRElS ICAgICAgbGliZXhlYykKKytzZXQoR1JfTElCRVhFQ19ESVIgICAgICBsaWJleGVjKQorIHNldChH Ul9QS0dfTElCRVhFQ19ESVIgICR7R1JfTElCRVhFQ19ESVJ9LyR7Q01BS0VfUFJPSkVDVF9OQU1F fSkKKyBzZXQoR1JDX0JMT0NLU19ESVIgICAgICAke0dSX1BLR19EQVRBX0RJUn0vZ3JjL2Jsb2Nr cykKKyAKK0BAIC0xNjYsMTEgKzE2MywxMSBAQCBpZihBUFBMRSkKKyBlbmRpZihBUFBMRSkKKyAK KyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKy0jIEZpbmQgZ251cmFkaW8gYnVpbGQgZGVwZW5kZW5jaWVzCisr IyBGaW5kIGJ1aWxkIGRlcGVuZGVuY2llcworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIHNldChHUl9SRVFV SVJFRF9DT01QT05FTlRTIFJVTlRJTUUgUE1UIEJMT0NLUykKKyAKKy1maW5kX3BhY2thZ2UoZ251 cmFkaW8tYmxvY2tzIFBBVEhTICR7R1JfUFJFRklYfS9saWIvY21ha2UvZ251cmFkaW8vKQorKyNb W2ZpbmRfcGFja2FnZShnbnVyYWRpby1ibG9ja3MgUEFUSFMgJHtHUl9QUkVGSVh9L2xpYi9jbWFr ZS9nbnVyYWRpby8pCisgbWVzc2FnZShTVEFUVVMgIkZvdW5kIEJsb2NrIEJsb2NrOiAke2dudXJh ZGlvLWJsb2Nrc19GT1VORH0iKQorIAorIGZpbmRfcGFja2FnZShnbnVyYWRpby1wbXQgUEFUSFMg JHtHUl9QUkVGSVh9L2xpYi9jbWFrZS9nbnVyYWRpby8pCitAQCAtMTk4LDkgKzE5NSwxMSBAQCBt ZXNzYWdlIChTVEFUVVMgIkZvdW5kIFVIRCBCbG9jazogJHtnbnVyYWRpby11aGRfRk9VTkR9IikK KyBtZXNzYWdlKFNUQVRVUyAiIFNlYXJjaGluZyBmb3IgVm9say4uLiIpCisgI2ZpbmRfcGFja2Fn ZShHbnVyYWRpbyBDT01QT05FTlRTIFZvbGsgUkVRVUlSRUQpCisgZmluZF9wYWNrYWdlKHZvbGsg UEFUSFMgJHtHUl9QUkVGSVh9L2xpYi9jbWFrZS92b2xrKQorLW1lc3NhZ2UgKFNUQVRVUyAiRm91 bmQgVm9sazogJHt2b2xrX0ZPVU5EfSIpCisrbWVzc2FnZSAoU1RBVFVTICJGb3VuZCBWb2xrOiAk e3ZvbGtfRk9VTkR9IikgXV0jCisgCistIyBIYXJkd2FyZSBEcml2ZXJzIGZyb20gaGVyZSBvbiBv dXQgLS0gVGhlc2UgbWF5IGZhaWwgYXMgdGhlIHVzZXIgaGFzbid0IGluc3RhbGxlZCB0aGVtCisr ZmluZF9wYWNrYWdlKEdudXJhZGlvSVFCYWxhbmNlKQorK2ZpbmRfcGFja2FnZShVSEQpCisrZmlu ZF9wYWNrYWdlKEdudXJhZGlvVUhEKQorIGZpbmRfcGFja2FnZShMaWJPc21vU0RSKQorIGZpbmRf cGFja2FnZShMaWJSVExTRFIpCisgZmluZF9wYWNrYWdlKExpYk1pcmlTRFIpCitAQCAtMjA5LDEx ICsyMDgsMTAgQEAgaWYoRU5BQkxFX05PTkZSRUUpCisgZW5kaWYoRU5BQkxFX05PTkZSRUUpCisg ZmluZF9wYWNrYWdlKExpYkhhY2tSRikKKyBmaW5kX3BhY2thZ2UoTGliQUlSU1BZKQorK2ZpbmRf cGFja2FnZShWb2xrKQorIGZpbmRfcGFja2FnZShMaWJibGFkZVJGKQorIGZpbmRfcGFja2FnZShT b2FweVNEUiBOT19NT0RVTEUpCisgZmluZF9wYWNrYWdlKExpYkZyZWVTUlApCistCistIyBEb2N1 bWVudGF0aW9uIFN5c3RlbQorIGZpbmRfcGFja2FnZShEb3h5Z2VuKQorIAorICNnZXRfY21ha2Vf cHJvcGVydHkoX3ZhcmlhYmxlTmFtZXMgVkFSSUFCTEVTKQorQEAgLTI2Nyw3ICsyNjUsNyBAQCBh ZGRfY3VzdG9tX3RhcmdldCh1bmluc3RhbGwKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIEVuYWJsZSBw eXRob24gY29tcG9uZW50CisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistZmluZF9wYWNrYWdlKFB5dGhvbkxp YnMgMikKKytmaW5kX3BhY2thZ2UoUHl0aG9uTGlicykKKyBmaW5kX3BhY2thZ2UoU1dJRykKKyAK KyBpZihTV0lHX0ZPVU5EKQorZGlmZiAtLWdpdCBhL1JFQURNRSBiL1JFQURNRQoraW5kZXggMTkz NjU2Zi4uNGQ4MzYzYiAxMDA2NDQKKy0tLSBSRUFETUUKKysrKyBSRUFETUUKK0BAIC0yMCw3ICsy MCw3IEBAIGFzIHdlbGwgc3VwcG9ydHM6CisgQnkgdXNpbmcgdGhlIE9zbW9TRFIgYmxvY2sgeW91 IGNhbiB0YWtlIGFkdmFudGFnZSBvZiBhIGNvbW1vbiBzb2Z0d2FyZSBhcGkgaW4KKyB5b3VyIGFw cGxpY2F0aW9uKHMpIGluZGVwZW5kZW50IG9mIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJl LgorIAorLUZ0b3IgaW5zdGFsbGF0aW9uIGFuZCB1c2FnZSBndWlkZWxpbmVzIHBsZWFzZSByZWFk IHRoZSBkb2N1bWVudGF0aW9uIGF2YWlsYWJsZQorK0ZvciBpbnN0YWxsYXRpb24gYW5kIHVzYWdl IGd1aWRlbGluZXMgcGxlYXNlIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gYXZhaWxhYmxlCisgYXQg aHR0cDovL3Nkci5vc21vY29tLm9yZy90cmFjL3dpa2kvR3JPc21vU0RSCisgCisgRm9yIHRoZSBp bXBhdGllbnQgOikgYSBzaG9ydCBleGNlcnB0OgorZGlmZiAtLWdpdCBhL2FwcHMvQ01ha2VMaXN0 cy50eHQgYi9hcHBzL0NNYWtlTGlzdHMudHh0CitpbmRleCBlZTk2NmJiLi45YzMwYTRiIDEwMDY0 NAorLS0tIGFwcHMvQ01ha2VMaXN0cy50eHQKKysrKyBhcHBzL0NNYWtlTGlzdHMudHh0CitAQCAt MSw3ICsxLDYgQEAKKyAjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorICMKKy0jIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGdyX21vZHRvb2wsIGEgdG9v bCBmcm9tIHRoZSBHTlUgUmFkaW8gZnJhbWV3b3JrCistIyBUaGlzIGZpbGUgaXMgYSBwYXJ0IG9m IGdyLW9zbW9zZHIKKysjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworICMKKyAjIEdO VSBSYWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisgIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorQEAgLTIxLDcgKzIwLDcgQEAKKyBpbmNsdWRlKEdyUHl0 aG9uKQorIAorIEdSX1BZVEhPTl9JTlNUQUxMKAorLSAgICBQUk9HUkFNUworKyAgICBGSUxFUwor ICAgICBvc21vY29tX3NpZ2dlbl9iYXNlLnB5CisgICAgIERFU1RJTkFUSU9OICR7R1JfUFlUSE9O X0RJUn0vb3Ntb3NkcgorICkKK2RpZmYgLS1naXQgYS9hcHBzL29zbW9jb21fc2lnZ2VuX2Jhc2Uu cHkgYi9hcHBzL29zbW9jb21fc2lnZ2VuX2Jhc2UucHkKK2luZGV4IGI2ZTlhMGMuLmYwN2YzZjYg MTAwNjQ0CistLS0gYXBwcy9vc21vY29tX3NpZ2dlbl9iYXNlLnB5CisrKysgYXBwcy9vc21vY29t X3NpZ2dlbl9iYXNlLnB5CitAQCAtMTA5LDkgKzEwOSw5IEBAIGNsYXNzIGdzbV9zb3VyY2VfYyhn ci5oaWVyX2Jsb2NrMik6CisgICAgICAgICAgICAgWzAsMCwwXSwKKyAgICAgICAgIF0KKyAgICAg ICAgIGJ1cnN0ID0gc3VtKGNodW5rcyxbXSkKKy0gICAgICAgIGJ1cnN0ID0gc3VtKG1hcChsaXN0 LCB6aXAoYnVyc3QsICgxLCkgKiBsZW4oYnVyc3QpKSksIFtdKQorKyAgICAgICAgYnVyc3QgPSBz dW0obGlzdChtYXAobGlzdCwgbGlzdCh6aXAoYnVyc3QsICgxLCkgKiBsZW4oYnVyc3QpKSkpKSwg W10pCisgICAgICAgICBidXJzdCArPSBbMSwwXSAqIChsLTE0OCkKKy0gICAgICAgIHJldHVybiBt YXAoaW50LCBidXJzdCkKKysgICAgICAgIHJldHVybiBsaXN0KG1hcChpbnQsIGJ1cnN0KSkKKyAK KyAgICAgZGVmIGdlbl9nc21fZnJhbWUoc2VsZik6CisgICAgICAgICByZXR1cm4gXAorQEAgLTE4 Niw3ICsxODYsNyBAQCBjbGFzcyB0b3BfYmxvY2soZ3IudG9wX2Jsb2NrLCBwdWJzdWIpOgorICAg ICAgICAgdHJ5OgorICAgICAgICAgICAgIHNlbGYuX3NpbmsuZ2V0X3NhbXBsZV9yYXRlcygpLnN0 YXJ0KCkKKyAgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CistICAgICAgICAgICAgcHJpbnQg IlNpbmsgaGFzIG5vIHNhbXBsZSByYXRlcyAod3JvbmcgZGV2aWNlIGFyZ3VtZW50cz8pLiIKKysg ICAgICAgICAgICBwcmludCgiU2luayBoYXMgbm8gc2FtcGxlIHJhdGVzICh3cm9uZyBkZXZpY2Ug YXJndW1lbnRzPykuIikKKyAgICAgICAgICAgICBzeXMuZXhpdCgxKQorIAorICAgICAgICAgIyBT ZXQgdGhlIGNsb2NrIHNvdXJjZToKK0BAIC0yMDIsNjAgKzIwMiw2MCBAQCBjbGFzcyB0b3BfYmxv Y2soZ3IudG9wX2Jsb2NrLCBwdWJzdWIpOgorICAgICAgICAgaWYob3B0aW9ucy5nYWluKToKKyAg ICAgICAgICAgICBnYWluID0gc2VsZi5fc2luay5zZXRfZ2FpbihvcHRpb25zLmdhaW4pCisgICAg ICAgICAgICAgaWYgc2VsZi5fdmVyYm9zZToKKy0gICAgICAgICAgICAgICAgcHJpbnQgIlNldCBn YWluIHRvOiIsIGdhaW4KKysgICAgICAgICAgICAgICAgcHJpbnQoIlNldCBnYWluIHRvOiIsIGdh aW4pCisgCisgICAgICAgICBpZiBzZWxmLl92ZXJib3NlOgorICAgICAgICAgICAgIGdhaW5fbmFt ZXMgPSBzZWxmLl9zaW5rLmdldF9nYWluX25hbWVzKCkKKyAgICAgICAgICAgICBmb3IgbmFtZSBp biBnYWluX25hbWVzOgorICAgICAgICAgICAgICAgICByYW5nZSA9IHNlbGYuX3NpbmsuZ2V0X2dh aW5fcmFuZ2UobmFtZSkKKy0gICAgICAgICAgICAgICAgcHJpbnQgIiVzIGdhaW4gcmFuZ2U6IHN0 YXJ0ICVkIHN0b3AgJWQgc3RlcCAlZCIgJSAobmFtZSwgcmFuZ2Uuc3RhcnQoKSwgcmFuZ2Uuc3Rv cCgpLCByYW5nZS5zdGVwKCkpCisrICAgICAgICAgICAgICAgIHByaW50KCIlcyBnYWluIHJhbmdl OiBzdGFydCAlZCBzdG9wICVkIHN0ZXAgJWQiICUgKG5hbWUsIHJhbmdlLnN0YXJ0KCksIHJhbmdl LnN0b3AoKSwgcmFuZ2Uuc3RlcCgpKSkKKyAKKyAgICAgICAgIGlmIG9wdGlvbnMuZ2FpbnM6Cisg ICAgICAgICAgICAgZm9yIHR1cGxlIGluIG9wdGlvbnMuZ2FpbnMuc3BsaXQoIiwiKToKKyAgICAg ICAgICAgICAgICAgbmFtZSwgZ2FpbiA9IHR1cGxlLnNwbGl0KCI6IikKKyAgICAgICAgICAgICAg ICAgZ2FpbiA9IGludChnYWluKQorLSAgICAgICAgICAgICAgICBwcmludCAiU2V0dGluZyBnYWlu ICVzIHRvICVkLiIgJSAobmFtZSwgZ2FpbikKKysgICAgICAgICAgICAgICAgcHJpbnQoIlNldHRp bmcgZ2FpbiAlcyB0byAlZC4iICUgKG5hbWUsIGdhaW4pKQorICAgICAgICAgICAgICAgICBzZWxm Ll9zaW5rLnNldF9nYWluKGdhaW4sIG5hbWUpCisgCisgICAgICAgICBpZiBzZWxmLl92ZXJib3Nl OgorICAgICAgICAgICAgIHJhdGVzID0gc2VsZi5fc2luay5nZXRfc2FtcGxlX3JhdGVzKCkKKy0g ICAgICAgICAgICBwcmludCAnU3VwcG9ydGVkIHNhbXBsZSByYXRlcyAlZC0lZCBzdGVwICVkLicg JSAocmF0ZXMuc3RhcnQoKSwgcmF0ZXMuc3RvcCgpLCByYXRlcy5zdGVwKCkpCisrICAgICAgICAg ICAgcHJpbnQoJ1N1cHBvcnRlZCBzYW1wbGUgcmF0ZXMgJWQtJWQgc3RlcCAlZC4nICUgKHJhdGVz LnN0YXJ0KCksIHJhdGVzLnN0b3AoKSwgcmF0ZXMuc3RlcCgpKSkKKyAKKyAgICAgICAgICMgU2V0 IHRoZSBhbnRlbm5hCisgICAgICAgICBpZiBzZWxmLl92ZXJib3NlOgorLSAgICAgICAgICAgIHBy aW50ICJzZXR0aW5nIGFudGVubmEuLi4iCisrICAgICAgICAgICAgcHJpbnQoInNldHRpbmcgYW50 ZW5uYS4uLiIpCisgICAgICAgICBpZihvcHRpb25zLmFudGVubmEpOgorICAgICAgICAgICAgIGFu dCA9IHNlbGYuX3Npbmsuc2V0X2FudGVubmEob3B0aW9ucy5hbnRlbm5hLCAwKQorICAgICAgICAg ICAgIGlmIHNlbGYuX3ZlcmJvc2U6CistICAgICAgICAgICAgICAgIHByaW50ICJTZXQgYW50ZW5u YSB0bzoiLCBhbnQKKysgICAgICAgICAgICAgICAgcHJpbnQoIlNldCBhbnRlbm5hIHRvOiIsIGFu dCkKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBzZWxmLnB1Ymxpc2goRlJFUV9SQU5HRV9L RVksIHNlbGYuX3NpbmsuZ2V0X2ZyZXFfcmFuZ2UpCisgICAgICAgICBleGNlcHQ6CistICAgICAg ICAgICAgcHJpbnQgIkNvdWxkbid0IHB1Ymxpc2ggJXMiICUgRlJFUV9SQU5HRV9LRVkKKysgICAg ICAgICAgICBwcmludCgiQ291bGRuJ3QgcHVibGlzaCAlcyIgJSBGUkVRX1JBTkdFX0tFWSkKKyAK KyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLmdldF9nYWluX25h bWVzKCk6CisgICAgICAgICAgICAgICAgIHNlbGYucHVibGlzaChHQUlOX1JBTkdFX0tFWShuYW1l KSwgKGxhbWJkYSBzZWxmPXNlbGYsbmFtZT1uYW1lOiBzZWxmLl9zaW5rLmdldF9nYWluX3Jhbmdl KG5hbWUpKSkKKyAgICAgICAgIGV4Y2VwdDoKKy0gICAgICAgICAgICBwcmludCAiQ291bGRuJ3Qg cHVibGlzaCAlcyIgJSBGUkVRX1JBTkdFX0tFWQorKyAgICAgICAgICAgIHByaW50KCJDb3VsZG4n dCBwdWJsaXNoICVzIiAlIEZSRVFfUkFOR0VfS0VZKQorIAorICAgICAgICAgdHJ5OgorICAgICAg ICAgICAgIHNlbGYucHVibGlzaChCV0lEVEhfUkFOR0VfS0VZLCBzZWxmLl9zaW5rLmdldF9iYW5k d2lkdGhfcmFuZ2UpCisgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgaWYgc2VsZi5fdmVy Ym9zZToKKy0gICAgICAgICAgICAgICAgcHJpbnQgIkNvdWxkbid0IHB1Ymxpc2ggJXMiICUgQldJ RFRIX1JBTkdFX0tFWQorKyAgICAgICAgICAgICAgICBwcmludCgiQ291bGRuJ3QgcHVibGlzaCAl cyIgJSBCV0lEVEhfUkFOR0VfS0VZKQorIAorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIGZv ciBuYW1lIGluIHNlbGYuZ2V0X2dhaW5fbmFtZXMoKToKKyAgICAgICAgICAgICAgICAgc2VsZi5w dWJsaXNoKEdBSU5fS0VZKG5hbWUpLCAobGFtYmRhIHNlbGY9c2VsZixuYW1lPW5hbWU6IHNlbGYu X3NpbmsuZ2V0X2dhaW4obmFtZSkpKQorICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgIGlm IHNlbGYuX3ZlcmJvc2U6CistICAgICAgICAgICAgICAgIHByaW50ICJDb3VsZG4ndCBwdWJsaXNo IEdBSU5fS0VZcyIKKysgICAgICAgICAgICAgICAgcHJpbnQoIkNvdWxkbid0IHB1Ymxpc2ggR0FJ Tl9LRVlzIikKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBzZWxmLnB1Ymxpc2goQldJRFRI X0tFWSwgc2VsZi5fc2luay5nZXRfYmFuZHdpZHRoKQorICAgICAgICAgZXhjZXB0OgorICAgICAg ICAgICAgIGlmIHNlbGYuX3ZlcmJvc2U6CistICAgICAgICAgICAgICAgIHByaW50ICJDb3VsZG4n dCBwdWJsaXNoICVzIiAlIEJXSURUSF9LRVkKKysgICAgICAgICAgICAgICAgcHJpbnQoIkNvdWxk bid0IHB1Ymxpc2ggJXMiICUgQldJRFRIX0tFWSkKKyAKKyAgICAgZGVmIGdldF9nYWluX25hbWVz KHNlbGYpOgorICAgICAgICAgcmV0dXJuIHNlbGYuX3NpbmsuZ2V0X2dhaW5fbmFtZXMoKQorQEAg LTI3Nyw3ICsyNzcsNyBAQCBjbGFzcyB0b3BfYmxvY2soZ3IudG9wX2Jsb2NrLCBwdWJzdWIpOgor ICAgICAgICAgICAgIHJldHVybiBUcnVlICMgV2F2ZWZvcm0gbm90IHlldCBzZXQKKyAKKyAgICAg ICAgIGlmIHNlbGYuX3ZlcmJvc2U6CistICAgICAgICAgICAgcHJpbnQgIlNldCBzYW1wbGUgcmF0 ZSB0bzoiLCBzcgorKyAgICAgICAgICAgIHByaW50KCJTZXQgc2FtcGxlIHJhdGUgdG86Iiwgc3Ip CisgCisgICAgICAgICByZXR1cm4gVHJ1ZQorIAorQEAgLTI4NiwyNyArMjg2LDI3IEBAIGNsYXNz IHRvcF9ibG9jayhnci50b3BfYmxvY2ssIHB1YnN1Yik6CisgICAgICAgICAgICAgZyA9IHNlbGZb R0FJTl9SQU5HRV9LRVkobmFtZSldCisgICAgICAgICAgICAgZ2FpbiA9IGZsb2F0KGcuc3RhcnQo KStnLnN0b3AoKSkvMgorICAgICAgICAgICAgIGlmIHNlbGYuX3ZlcmJvc2U6CistICAgICAgICAg ICAgICAgIHByaW50ICJVc2luZyBhdXRvLWNhbGN1bGF0ZWQgbWlkLXBvaW50IGdhaW4iCisrICAg ICAgICAgICAgICAgIHByaW50KCJVc2luZyBhdXRvLWNhbGN1bGF0ZWQgbWlkLXBvaW50IGdhaW4i KQorICAgICAgICAgICAgIHNlbGZbR0FJTl9LRVkobmFtZSldID0gZ2FpbgorICAgICAgICAgICAg IHJldHVybgorIAorICAgICAgICAgZ2FpbiA9IHNlbGYuX3Npbmsuc2V0X2dhaW4oZ2FpbiwgbmFt ZSkKKyAgICAgICAgIGlmIHNlbGYuX3ZlcmJvc2U6CistICAgICAgICAgICAgcHJpbnQgIlNldCAi ICsgbmFtZSArICIgZ2FpbiB0bzoiLCBnYWluCisrICAgICAgICAgICAgcHJpbnQoIlNldCAiICsg bmFtZSArICIgZ2FpbiB0bzoiLCBnYWluKQorIAorICAgICBkZWYgc2V0X2JhbmR3aWR0aChzZWxm LCBidyk6CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgY2xpcHBlZF9idyA9IHNlbGZbQldJ RFRIX1JBTkdFX0tFWV0uY2xpcChidykKKyAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICBp ZiBzZWxmLl92ZXJib3NlOgorLSAgICAgICAgICAgICAgICBwcmludCAiY291bGRuJ3QgY2xpcCBi YW5kd2lkdGgiCisrICAgICAgICAgICAgICAgIHByaW50KCJjb3VsZG4ndCBjbGlwIGJhbmR3aWR0 aCIpCisgICAgICAgICAgICAgcmV0dXJuCisgCisgICAgICAgICBpZiBzZWxmLl9zaW5rLmdldF9i YW5kd2lkdGgoKSAhPSBjbGlwcGVkX2J3OgorICAgICAgICAgICAgIGJ3ID0gc2VsZi5fc2luay5z ZXRfYmFuZHdpZHRoKGNsaXBwZWRfYncpCisgCisgICAgICAgICAgICAgaWYgc2VsZi5fdmVyYm9z ZToKKy0gICAgICAgICAgICAgICAgcHJpbnQgIlNldCBiYW5kd2lkdGggdG86IiwgYncKKysgICAg ICAgICAgICAgICAgcHJpbnQoIlNldCBiYW5kd2lkdGggdG86IiwgYncpCisgCisgICAgIGRlZiBz ZXRfZGNfb2Zmc2V0KHNlbGYsIHZhbHVlKToKKyAgICAgICAgIGNvcnJlY3Rpb24gPSBjb21wbGV4 KCBzZWxmW0RDX09GRlNFVF9SRUFMXSwgc2VsZltEQ19PRkZTRVRfSU1BR10gKQorQEAgLTMxNSw5 ICszMTUsOSBAQCBjbGFzcyB0b3BfYmxvY2soZ3IudG9wX2Jsb2NrLCBwdWJzdWIpOgorICAgICAg ICAgICAgIHNlbGYuX3Npbmsuc2V0X2RjX29mZnNldCggY29ycmVjdGlvbiApCisgCisgICAgICAg ICAgICAgaWYgc2VsZi5fdmVyYm9zZToKKy0gICAgICAgICAgICAgICAgcHJpbnQgIlNldCBEQyBv ZmZzZXQgdG8iLCBjb3JyZWN0aW9uCisrICAgICAgICAgICAgICAgIHByaW50KCJTZXQgREMgb2Zm c2V0IHRvIiwgY29ycmVjdGlvbikKKyAgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3IgYXMgZXg6 CistICAgICAgICAgICAgcHJpbnQgZXgKKysgICAgICAgICAgICBwcmludChleCkKKyAKKyAgICAg ZGVmIHNldF9pcV9iYWxhbmNlKHNlbGYsIHZhbHVlKToKKyAgICAgICAgIGNvcnJlY3Rpb24gPSBj b21wbGV4KCBzZWxmW0lRX0JBTEFOQ0VfTUFHXSwgc2VsZltJUV9CQUxBTkNFX1BIQV0gKQorQEAg LTMyNiwxNiArMzI2LDE2IEBAIGNsYXNzIHRvcF9ibG9jayhnci50b3BfYmxvY2ssIHB1YnN1Yik6 CisgICAgICAgICAgICAgc2VsZi5fc2luay5zZXRfaXFfYmFsYW5jZSggY29ycmVjdGlvbiApCisg CisgICAgICAgICAgICAgaWYgc2VsZi5fdmVyYm9zZToKKy0gICAgICAgICAgICAgICAgcHJpbnQg IlNldCBJUSBiYWxhbmNlIHRvIiwgY29ycmVjdGlvbgorKyAgICAgICAgICAgICAgICBwcmludCgi U2V0IElRIGJhbGFuY2UgdG8iLCBjb3JyZWN0aW9uKQorICAgICAgICAgZXhjZXB0IFJ1bnRpbWVF cnJvciBhcyBleDoKKy0gICAgICAgICAgICBwcmludCBleAorKyAgICAgICAgICAgIHByaW50KGV4 KQorIAorICAgICBkZWYgc2V0X2ZyZXEoc2VsZiwgZnJlcSk6CisgICAgICAgICBpZiBmcmVxIGlz IE5vbmU6CisgICAgICAgICAgICAgZiA9IHNlbGZbRlJFUV9SQU5HRV9LRVldCisgICAgICAgICAg ICAgZnJlcSA9IGZsb2F0KGYuc3RhcnQoKStmLnN0b3AoKSkvMi4wCisgICAgICAgICAgICAgaWYg c2VsZi5fdmVyYm9zZToKKy0gICAgICAgICAgICAgICAgcHJpbnQgIlVzaW5nIGF1dG8tY2FsY3Vs YXRlZCBtaWQtcG9pbnQgZnJlcXVlbmN5IgorKyAgICAgICAgICAgICAgICBwcmludCgiVXNpbmcg YXV0by1jYWxjdWxhdGVkIG1pZC1wb2ludCBmcmVxdWVuY3kiKQorICAgICAgICAgICAgIHNlbGZb VFhfRlJFUV9LRVldID0gZnJlcQorICAgICAgICAgICAgIHJldHVybgorIAorQEAgLTM0MywyMiAr MzQzLDIyIEBAIGNsYXNzIHRvcF9ibG9jayhnci50b3BfYmxvY2ssIHB1YnN1Yik6CisgICAgICAg ICBpZiBmcmVxIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIHNlbGYuX2ZyZXEgPSBmcmVxCisg ICAgICAgICAgICAgaWYgc2VsZi5fdmVyYm9zZToKKy0gICAgICAgICAgICAgICAgcHJpbnQgIlNl dCBjZW50ZXIgZnJlcXVlbmN5IHRvIiwgZnJlcQorKyAgICAgICAgICAgICAgICBwcmludCgiU2V0 IGNlbnRlciBmcmVxdWVuY3kgdG8iLCBmcmVxKQorICAgICAgICAgZWxpZiBzZWxmLl92ZXJib3Nl OgorLSAgICAgICAgICAgIHByaW50ICJGYWlsZWQgdG8gc2V0IGZyZXEuIgorKyAgICAgICAgICAg IHByaW50KCJGYWlsZWQgdG8gc2V0IGZyZXEuIikKKyAgICAgICAgIHJldHVybiBmcmVxCisgCisg ICAgIGRlZiBzZXRfZnJlcV9jb3JyKHNlbGYsIHBwbSk6CisgICAgICAgICBpZiBwcG0gaXMgTm9u ZToKKyAgICAgICAgICAgICBwcG0gPSAwLjAKKyAgICAgICAgICAgICBpZiBzZWxmLl92ZXJib3Nl OgorLSAgICAgICAgICAgICAgICBwcmludCAiVXNpbmcgZnJlcXVlbmN5IGNvcnJyZWN0aW9uIG9m IiwgcHBtCisrICAgICAgICAgICAgICAgIHByaW50KCJVc2luZyBmcmVxdWVuY3kgY29ycnJlY3Rp b24gb2YiLCBwcG0pCisgICAgICAgICAgICAgc2VsZltGUkVRX0NPUlJfS0VZXSA9IHBwbQorICAg ICAgICAgICAgIHJldHVybgorIAorICAgICAgICAgcHBtID0gc2VsZi5fc2luay5zZXRfZnJlcV9j b3JyKHBwbSkKKyAgICAgICAgIGlmIHNlbGYuX3ZlcmJvc2U6CistICAgICAgICAgICAgcHJpbnQg IlNldCBmcmVxdWVuY3kgY29ycmVjdGlvbiB0bzoiLCBwcG0KKysgICAgICAgICAgICBwcmludCgi U2V0IGZyZXF1ZW5jeSBjb3JyZWN0aW9uIHRvOiIsIHBwbSkKKyAKKyAgICAgZGVmIHNldF93YXZl Zm9ybV9mcmVxKHNlbGYsIGZyZXEpOgorICAgICAgICAgaWYgc2VsZltUWVBFX0tFWV0gPT0gYW5h bG9nLkdSX1NJTl9XQVZFOgorQEAgLTQzMywyNCArNDMzLDI0IEBAIGNsYXNzIHRvcF9ibG9jayhn ci50b3BfYmxvY2ssIHB1YnN1Yik6CisgICAgICAgICBzZWxmLnVubG9jaygpCisgCisgICAgICAg ICBpZiBzZWxmLl92ZXJib3NlOgorLSAgICAgICAgICAgIHByaW50ICJTZXQgYmFzZWJhbmQgbW9k dWxhdGlvbiB0bzoiLCB3YXZlZm9ybXNbdHlwZV0KKysgICAgICAgICAgICBwcmludCgiU2V0IGJh c2ViYW5kIG1vZHVsYXRpb24gdG86Iiwgd2F2ZWZvcm1zW3R5cGVdKQorICAgICAgICAgICAgIGlm IHR5cGUgPT0gYW5hbG9nLkdSX1NJTl9XQVZFOgorLSAgICAgICAgICAgICAgICBwcmludCAiTW9k dWxhdGlvbiBmcmVxdWVuY3k6ICVzSHoiICUgKG4ycyhzZWxmW1dBVkVGT1JNX0ZSRVFfS0VZXSks KQorLSAgICAgICAgICAgICAgICBwcmludCAiSW5pdGlhbCBwaGFzZToiLCBzZWxmW1dBVkVGT1JN X09GRlNFVF9LRVldCisrICAgICAgICAgICAgICAgIHByaW50KCJNb2R1bGF0aW9uIGZyZXF1ZW5j eTogJXNIeiIgJSAobjJzKHNlbGZbV0FWRUZPUk1fRlJFUV9LRVldKSwpKQorKyAgICAgICAgICAg ICAgICBwcmludCgiSW5pdGlhbCBwaGFzZToiLCBzZWxmW1dBVkVGT1JNX09GRlNFVF9LRVldKQor ICAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAiMnRvbmUiOgorLSAgICAgICAgICAgICAgICBwcmlu dCAiVG9uZSAxOiAlc0h6IiAlIChuMnMoc2VsZltXQVZFRk9STV9GUkVRX0tFWV0pLCkKKy0gICAg ICAgICAgICAgICAgcHJpbnQgIlRvbmUgMjogJXNIeiIgJSAobjJzKHNlbGZbV0FWRUZPUk0yX0ZS RVFfS0VZXSksKQorKyAgICAgICAgICAgICAgICBwcmludCgiVG9uZSAxOiAlc0h6IiAlIChuMnMo c2VsZltXQVZFRk9STV9GUkVRX0tFWV0pLCkpCisrICAgICAgICAgICAgICAgIHByaW50KCJUb25l IDI6ICVzSHoiICUgKG4ycyhzZWxmW1dBVkVGT1JNMl9GUkVRX0tFWV0pLCkpCisgICAgICAgICAg ICAgZWxpZiB0eXBlID09ICJzd2VlcCI6CistICAgICAgICAgICAgICAgIHByaW50ICJTd2VlcGlu ZyBhY3Jvc3MgJXNIeiB0byAlc0h6IiAlIChuMnMoLXNlbGZbV0FWRUZPUk1fRlJFUV9LRVldLzIu MCksbjJzKHNlbGZbV0FWRUZPUk1fRlJFUV9LRVldLzIuMCkpCistICAgICAgICAgICAgICAgIHBy aW50ICJTd2VlcCByYXRlOiAlc0h6IiAlIChuMnMoc2VsZltXQVZFRk9STTJfRlJFUV9LRVldKSwp CisrICAgICAgICAgICAgICAgIHByaW50KCJTd2VlcGluZyBhY3Jvc3MgJXNIeiB0byAlc0h6IiAl IChuMnMoLXNlbGZbV0FWRUZPUk1fRlJFUV9LRVldLzIuMCksbjJzKHNlbGZbV0FWRUZPUk1fRlJF UV9LRVldLzIuMCkpKQorKyAgICAgICAgICAgICAgICBwcmludCgiU3dlZXAgcmF0ZTogJXNIeiIg JSAobjJzKHNlbGZbV0FWRUZPUk0yX0ZSRVFfS0VZXSksKSkKKyAgICAgICAgICAgICBlbGlmIHR5 cGUgPT0gImdzbSI6CistICAgICAgICAgICAgICAgIHByaW50ICJHU00gQnVyc3QgU2VxdWVuY2Ui CistICAgICAgICAgICAgcHJpbnQgIlRYIGFtcGxpdHVkZToiLCBzZWxmW0FNUExJVFVERV9LRVld CisrICAgICAgICAgICAgICAgIHByaW50KCJHU00gQnVyc3QgU2VxdWVuY2UiKQorKyAgICAgICAg ICAgIHByaW50KCJUWCBhbXBsaXR1ZGU6Iiwgc2VsZltBTVBMSVRVREVfS0VZXSkKKyAKKyAgICAg ZGVmIHNldF9hbXBsaXR1ZGUoc2VsZiwgYW1wbGl0dWRlKToKKyAgICAgICAgIGlmIGFtcGxpdHVk ZSA8IDAuMCBvciBhbXBsaXR1ZGUgPiAxLjA6CisgICAgICAgICAgICAgaWYgc2VsZi5fdmVyYm9z ZToKKy0gICAgICAgICAgICAgICAgcHJpbnQgIkFtcGxpdHVkZSBvdXQgb2YgcmFuZ2U6IiwgYW1w bGl0dWRlCisrICAgICAgICAgICAgICAgIHByaW50KCJBbXBsaXR1ZGUgb3V0IG9mIHJhbmdlOiIs IGFtcGxpdHVkZSkKKyAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAKKyAgICAgICAgIGlmIHNl bGZbVFlQRV9LRVldIGluIChhbmFsb2cuR1JfU0lOX1dBVkUsIGFuYWxvZy5HUl9DT05TVF9XQVZF LCBhbmFsb2cuR1JfR0FVU1NJQU4sIGFuYWxvZy5HUl9VTklGT1JNKToKK0BAIC00NjYsNyArNDY2 LDcgQEAgY2xhc3MgdG9wX2Jsb2NrKGdyLnRvcF9ibG9jaywgcHVic3ViKToKKyAgICAgICAgICAg ICByZXR1cm4gVHJ1ZSAjIFdhdmVmb3JtIG5vdCB5ZXQgc2V0CisgCisgICAgICAgICBpZiBzZWxm Ll92ZXJib3NlOgorLSAgICAgICAgICAgIHByaW50ICJTZXQgYW1wbGl0dWRlIHRvOiIsIGFtcGxp dHVkZQorKyAgICAgICAgICAgIHByaW50KCJTZXQgYW1wbGl0dWRlIHRvOiIsIGFtcGxpdHVkZSkK KyAgICAgICAgIHJldHVybiBUcnVlCisgCisgZGVmIGdldF9vcHRpb25zKCk6CitAQCAtNTI1LDE5 ICs1MjUsMTkgQEAgZGVmIGdldF9vcHRpb25zKCk6CisgIyB0aGUgYmVsb3cgZG9lcyBub3QgcnVu LgorIGRlZiB0ZXN0X21haW4oKToKKyAgICAgaWYgZ3IuZW5hYmxlX3JlYWx0aW1lX3NjaGVkdWxp bmcoKSAhPSBnci5SVF9PSzoKKy0gICAgICAgIHByaW50ICJOb3RlOiBmYWlsZWQgdG8gZW5hYmxl IHJlYWx0aW1lIHNjaGVkdWxpbmcsIGNvbnRpbnVpbmciCisrICAgICAgICBwcmludCgiTm90ZTog ZmFpbGVkIHRvIGVuYWJsZSByZWFsdGltZSBzY2hlZHVsaW5nLCBjb250aW51aW5nIikKKyAKKyAg ICAgIyBHcmFiIGNvbW1hbmQgbGluZSBvcHRpb25zIGFuZCBjcmVhdGUgdG9wIGJsb2NrCisgICAg IHRyeToKKyAgICAgICAgIChvcHRpb25zLCBhcmdzKSA9IGdldF9vcHRpb25zKCkKKyAgICAgICAg IHRiID0gdG9wX2Jsb2NrKG9wdGlvbnMsIGFyZ3MpCisgCistICAgIGV4Y2VwdCBSdW50aW1lRXJy b3IsIGU6CistICAgICAgICBwcmludCBlCisrICAgIGV4Y2VwdCBSdW50aW1lRXJyb3IgYXMgZToK KysgICAgICAgIHByaW50KGUpCisgICAgICAgICBzeXMuZXhpdCgxKQorIAorICAgICB0Yi5zdGFy dCgpCistICAgIHJhd19pbnB1dCgnUHJlc3MgRW50ZXIgdG8gcXVpdDogJykKKysgICAgaW5wdXQo J1ByZXNzIEVudGVyIHRvIHF1aXQ6ICcpCisgICAgIHRiLnN0b3AoKQorICAgICB0Yi53YWl0KCkK KyAKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb0ZDRC5jbWFrZSBiL2Nt YWtlL01vZHVsZXMvRmluZEdudXJhZGlvRkNELmNtYWtlCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMC4uZTdkNzY3MAorLS0tIC9kZXYvbnVsbAorKysrIGNtYWtlL01vZHVsZXMv RmluZEdudXJhZGlvRkNELmNtYWtlCitAQCAtMCwwICsxLDM0IEBACisrSU5DTFVERShGaW5kUGtn Q29uZmlnKQorK1BLR19DSEVDS19NT0RVTEVTKFBDX0dOVVJBRElPX0ZDRCBnbnVyYWRpby1mY2Qp CisrCisrRklORF9QQVRIKAorKyAgICBHTlVSQURJT19GQ0RfSU5DTFVERV9ESVJTCisrICAgIE5B TUVTIGdudXJhZGlvL2ZjZC9hcGkuaAorKyAgICBISU5UUyAkRU5We0dOVVJBRElPX0ZDRF9ESVJ9 L2luY2x1ZGUKKysgICAgICAgICR7UENfR05VUkFESU9fRkNEX0lOQ0xVREVESVJ9CisrICAgIFBB VEhTIC91c3IvbG9jYWwvaW5jbHVkZQorKyAgICAgICAgICAvdXNyL2luY2x1ZGUKKyspCisrCisr RklORF9MSUJSQVJZKAorKyAgICBHTlVSQURJT19GQ0RfTElCUkFSSUVTCisrICAgIE5BTUVTIGdu dXJhZGlvLWZjZAorKyAgICBISU5UUyAkRU5We0dOVVJBRElPX0ZDRF9ESVJ9L2xpYgorKyAgICAg ICAgJHtQQ19HTlVSQURJT19GQ0RfTElCRElSfQorKyAgICBQQVRIUyAvdXNyL2xvY2FsL2xpYgor KyAgICAgICAgICAvdXNyL2xvY2FsL2xpYjY0CisrICAgICAgICAgIC91c3IvbGliCisrICAgICAg ICAgIC91c3IvbGliNjQKKyspCisrCisraWYoR05VUkFESU9fRkNEX0lOQ0xVREVfRElSUyBBTkQg R05VUkFESU9fRkNEX0xJQlJBUklFUykKKysgIHNldChHTlVSQURJT19GQ0RfRk9VTkQgVFJVRSBD QUNIRSBJTlRFUk5BTCAiZ251cmFkaW8tZmNkIGZvdW5kIikKKysgIG1lc3NhZ2UoU1RBVFVTICJG b3VuZCBnbnVyYWRpby1mY2Q6ICR7R05VUkFESU9fRkNEX0lOQ0xVREVfRElSU30sICR7R05VUkFE SU9fRkNEX0xJQlJBUklFU30iKQorK2Vsc2UoR05VUkFESU9fRkNEX0lOQ0xVREVfRElSUyBBTkQg R05VUkFESU9fRkNEX0xJQlJBUklFUykKKysgIHNldChHTlVSQURJT19GQ0RfRk9VTkQgRkFMU0Ug Q0FDSEUgSU5URVJOQUwgImdudXJhZGlvLWZjZCBmb3VuZCIpCisrICBtZXNzYWdlKFNUQVRVUyAi Z251cmFkaW8tZmNkIG5vdCBmb3VuZC4iKQorK2VuZGlmKEdOVVJBRElPX0ZDRF9JTkNMVURFX0RJ UlMgQU5EIEdOVVJBRElPX0ZDRF9MSUJSQVJJRVMpCisrCisrSU5DTFVERShGaW5kUGFja2FnZUhh bmRsZVN0YW5kYXJkQXJncykKKytGSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoR05V UkFESU9fRkNEIERFRkFVTFRfTVNHIEdOVVJBRElPX0ZDRF9MSUJSQVJJRVMgR05VUkFESU9fRkNE X0lOQ0xVREVfRElSUykKKytNQVJLX0FTX0FEVkFOQ0VEKEdOVVJBRElPX0ZDRF9MSUJSQVJJRVMg R05VUkFESU9fRkNEX0lOQ0xVREVfRElSUykKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0Zp bmRHbnVyYWRpb0ZDRFBQLmNtYWtlIGIvY21ha2UvTW9kdWxlcy9GaW5kR251cmFkaW9GQ0RQUC5j bWFrZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmM2ZjAzZjEKKy0tLSAv ZGV2L251bGwKKysrKyBjbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb0ZDRFBQLmNtYWtlCitAQCAt MCwwICsxLDM0IEBACisrSU5DTFVERShGaW5kUGtnQ29uZmlnKQorK1BLR19DSEVDS19NT0RVTEVT KFBDX0dOVVJBRElPX0ZDRFBQIGdudXJhZGlvLWZjZHByb3BsdXMpCisrCisrRklORF9QQVRIKAor KyAgICBHTlVSQURJT19GQ0RQUF9JTkNMVURFX0RJUlMKKysgICAgTkFNRVMgZmNkcHJvcGx1cy9h cGkuaAorKyAgICBISU5UUyAkRU5We0dOVVJBRElPX0ZDRFBQX0RJUn0vaW5jbHVkZQorKyAgICAg ICAgJHtQQ19HTlVSQURJT19GQ0RQUF9JTkNMVURFRElSfQorKyAgICBQQVRIUyAvdXNyL2xvY2Fs L2luY2x1ZGUKKysgICAgICAgICAgL3Vzci9pbmNsdWRlCisrKQorKworK0ZJTkRfTElCUkFSWSgK KysgICAgR05VUkFESU9fRkNEUFBfTElCUkFSSUVTCisrICAgIE5BTUVTIGdudXJhZGlvLWZjZHBy b3BsdXMKKysgICAgSElOVFMgJEVOVntHTlVSQURJT19GQ0RQUF9ESVJ9L2xpYgorKyAgICAgICAg JHtQQ19HTlVSQURJT19GQ0RQUF9MSUJESVJ9CisrICAgIFBBVEhTIC91c3IvbG9jYWwvbGliCisr ICAgICAgICAgIC91c3IvbG9jYWwvbGliNjQKKysgICAgICAgICAgL3Vzci9saWIKKysgICAgICAg ICAgL3Vzci9saWI2NAorKykKKysKKytpZihHTlVSQURJT19GQ0RQUF9JTkNMVURFX0RJUlMgQU5E IEdOVVJBRElPX0ZDRFBQX0xJQlJBUklFUykKKysgIHNldChHTlVSQURJT19GQ0RQUF9GT1VORCBU UlVFIENBQ0hFIElOVEVSTkFMICJnbnVyYWRpby1mY2Rwcm9wbHVzIGZvdW5kIikKKysgIG1lc3Nh Z2UoU1RBVFVTICJGb3VuZCBnbnVyYWRpby1mY2Rwcm9wbHVzOiAke0dOVVJBRElPX0ZDRFBQX0lO Q0xVREVfRElSU30sICR7R05VUkFESU9fRkNEUFBfTElCUkFSSUVTfSIpCisrZWxzZShHTlVSQURJ T19GQ0RQUF9JTkNMVURFX0RJUlMgQU5EIEdOVVJBRElPX0ZDRFBQX0xJQlJBUklFUykKKysgIHNl dChHTlVSQURJT19GQ0RQUF9GT1VORCBGQUxTRSBDQUNIRSBJTlRFUk5BTCAiZ251cmFkaW8tZmNk cHJvcGx1cyBmb3VuZCIpCisrICBtZXNzYWdlKFNUQVRVUyAiZ251cmFkaW8tZmNkcHJvcGx1cyBu b3QgZm91bmQuIikKKytlbmRpZihHTlVSQURJT19GQ0RQUF9JTkNMVURFX0RJUlMgQU5EIEdOVVJB RElPX0ZDRFBQX0xJQlJBUklFUykKKysKKytJTkNMVURFKEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRh cmRBcmdzKQorK0ZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhHTlVSQURJT19GQ0RQ UCBERUZBVUxUX01TRyBHTlVSQURJT19GQ0RQUF9MSUJSQVJJRVMgR05VUkFESU9fRkNEUFBfSU5D TFVERV9ESVJTKQorK01BUktfQVNfQURWQU5DRUQoR05VUkFESU9fRkNEUFBfTElCUkFSSUVTIEdO VVJBRElPX0ZDRFBQX0lOQ0xVREVfRElSUykKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0Zp bmRHbnVyYWRpb0lRQmFsYW5jZS5jbWFrZSBiL2NtYWtlL01vZHVsZXMvRmluZEdudXJhZGlvSVFC YWxhbmNlLmNtYWtlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYzM4MWQx YworLS0tIC9kZXYvbnVsbAorKysrIGNtYWtlL01vZHVsZXMvRmluZEdudXJhZGlvSVFCYWxhbmNl LmNtYWtlCitAQCAtMCwwICsxLDI5IEBACisrSU5DTFVERShGaW5kUGtnQ29uZmlnKQorK1BLR19D SEVDS19NT0RVTEVTKFBDX0dOVVJBRElPX0lRQkFMQU5DRSBnbnVyYWRpby1pcWJhbGFuY2UpCisr CisrRklORF9QQVRIKAorKyAgICBHTlVSQURJT19JUUJBTEFOQ0VfSU5DTFVERV9ESVJTCisrICAg IE5BTUVTIGdudXJhZGlvL2lxYmFsYW5jZS9hcGkuaAorKyAgICBISU5UUyAkRU5We0dOVVJBRElP X0lRQkFMQU5DRV9ESVJ9L2luY2x1ZGUKKysgICAgICAgICR7UENfR05VUkFESU9fSVFCQUxBTkNF X0lOQ0xVREVESVJ9CisrICAgICAgICAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9pbmNsdWRlCisr ICAgIFBBVEhTIC91c3IvbG9jYWwvaW5jbHVkZQorKyAgICAgICAgICAvdXNyL2luY2x1ZGUKKysp CisrCisrRklORF9MSUJSQVJZKAorKyAgICBHTlVSQURJT19JUUJBTEFOQ0VfTElCUkFSSUVTCisr ICAgIE5BTUVTIGdudXJhZGlvLWlxYmFsYW5jZQorKyAgICBISU5UUyAkRU5We0dOVVJBRElPX0lR QkFMQU5DRV9ESVJ9L2xpYgorKyAgICAgICAgJHtQQ19HTlVSQURJT19JUUJBTEFOQ0VfTElCRElS fQorKyAgICAgICAgJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliNjQKKysgICAgICAgICR7Q01B S0VfSU5TVEFMTF9QUkVGSVh9L2xpYgorKyAgICBQQVRIUyAvdXNyL2xvY2FsL2xpYgorKyAgICAg ICAgICAvdXNyL2xvY2FsL2xpYjY0CisrICAgICAgICAgIC91c3IvbGliCisrICAgICAgICAgIC91 c3IvbGliNjQKKyspCisrCisrSU5DTFVERShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykK KytGSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoR05VUkFESU9fSVFCQUxBTkNFIERF RkFVTFRfTVNHIEdOVVJBRElPX0lRQkFMQU5DRV9MSUJSQVJJRVMgR05VUkFESU9fSVFCQUxBTkNF X0lOQ0xVREVfRElSUykKKytNQVJLX0FTX0FEVkFOQ0VEKEdOVVJBRElPX0lRQkFMQU5DRV9MSUJS QVJJRVMgR05VUkFESU9fSVFCQUxBTkNFX0lOQ0xVREVfRElSUykKK2RpZmYgLS1naXQgYS9jbWFr ZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb1VIRC5jbWFrZSBiL2NtYWtlL01vZHVsZXMvRmluZEdudXJh ZGlvVUhELmNtYWtlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZjk5ZGFm MAorLS0tIC9kZXYvbnVsbAorKysrIGNtYWtlL01vZHVsZXMvRmluZEdudXJhZGlvVUhELmNtYWtl CitAQCAtMCwwICsxLDM0IEBACisrSU5DTFVERShGaW5kUGtnQ29uZmlnKQorK1BLR19DSEVDS19N T0RVTEVTKFBDX0dOVVJBRElPX1VIRCBnbnVyYWRpby11aGQpCisrCisrRklORF9QQVRIKAorKyAg ICBHTlVSQURJT19VSERfSU5DTFVERV9ESVJTCisrICAgIE5BTUVTIGdudXJhZGlvL3VoZC9hcGku aAorKyAgICBISU5UUyAkRU5We0dOVVJBRElPX1VIRF9ESVJ9L2luY2x1ZGUKKysgICAgICAgICR7 UENfR05VUkFESU9fVUhEX0lOQ0xVREVESVJ9CisrICAgIFBBVEhTIC91c3IvbG9jYWwvaW5jbHVk ZQorKyAgICAgICAgICAvdXNyL2luY2x1ZGUKKyspCisrCisrRklORF9MSUJSQVJZKAorKyAgICBH TlVSQURJT19VSERfTElCUkFSSUVTCisrICAgIE5BTUVTIGdudXJhZGlvLXVoZAorKyAgICBISU5U UyAkRU5We0dOVVJBRElPX1VIRF9ESVJ9L2xpYgorKyAgICAgICAgJHtQQ19HTlVSQURJT19VSERf TElCRElSfQorKyAgICBQQVRIUyAvdXNyL2xvY2FsL2xpYgorKyAgICAgICAgICAvdXNyL2xvY2Fs L2xpYjY0CisrICAgICAgICAgIC91c3IvbGliCisrICAgICAgICAgIC91c3IvbGliNjQKKyspCisr CisraWYoR05VUkFESU9fVUhEX0lOQ0xVREVfRElSUyBBTkQgR05VUkFESU9fVUhEX0xJQlJBUklF UykKKysgIHNldChHTlVSQURJT19VSERfRk9VTkQgVFJVRSBDQUNIRSBJTlRFUk5BTCAiZ251cmFk aW8tdWhkIGZvdW5kIikKKysgIG1lc3NhZ2UoU1RBVFVTICJGb3VuZCBnbnVyYWRpby11aGQ6ICR7 R05VUkFESU9fVUhEX0lOQ0xVREVfRElSU30sICR7R05VUkFESU9fVUhEX0xJQlJBUklFU30iKQor K2Vsc2UoR05VUkFESU9fVUhEX0lOQ0xVREVfRElSUyBBTkQgR05VUkFESU9fVUhEX0xJQlJBUklF UykKKysgIHNldChHTlVSQURJT19VSERfRk9VTkQgRkFMU0UgQ0FDSEUgSU5URVJOQUwgImdudXJh ZGlvLXVoZCBmb3VuZCIpCisrICBtZXNzYWdlKFNUQVRVUyAiZ251cmFkaW8tdWhkIG5vdCBmb3Vu ZC4iKQorK2VuZGlmKEdOVVJBRElPX1VIRF9JTkNMVURFX0RJUlMgQU5EIEdOVVJBRElPX1VIRF9M SUJSQVJJRVMpCisrCisrSU5DTFVERShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKKytG SU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoR05VUkFESU9fVUhEIERFRkFVTFRfTVNH IEdOVVJBRElPX1VIRF9MSUJSQVJJRVMgR05VUkFESU9fVUhEX0lOQ0xVREVfRElSUykKKytNQVJL X0FTX0FEVkFOQ0VEKEdOVVJBRElPX1VIRF9MSUJSQVJJRVMgR05VUkFESU9fVUhEX0lOQ0xVREVf RElSUykKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0ZpbmRVSEQuY21ha2UgYi9jbWFrZS9N b2R1bGVzL0ZpbmRVSEQuY21ha2UKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw Li5iNGQxMmI2CistLS0gL2Rldi9udWxsCisrKysgY21ha2UvTW9kdWxlcy9GaW5kVUhELmNtYWtl CitAQCAtMCwwICsxLDI4IEBACisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyBGaW5kIHRoZSBsaWJyYXJ5 IGZvciB0aGUgVVNSUCBIYXJkd2FyZSBEcml2ZXIKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysKKytJTkNM VURFKEZpbmRQa2dDb25maWcpCisrUEtHX0NIRUNLX01PRFVMRVMoUENfVUhEIHVoZCkKKysKKytG SU5EX1BBVEgoCisrICAgIFVIRF9JTkNMVURFX0RJUlMKKysgICAgTkFNRVMgdWhkL2NvbmZpZy5o cHAKKysgICAgSElOVFMgJEVOVntVSERfRElSfS9pbmNsdWRlCisrICAgICAgICAke1BDX1VIRF9J TkNMVURFRElSfQorKyAgICBQQVRIUyAvdXNyL2xvY2FsL2luY2x1ZGUKKysgICAgICAgICAgL3Vz ci9pbmNsdWRlCisrKQorKworK0ZJTkRfTElCUkFSWSgKKysgICAgVUhEX0xJQlJBUklFUworKyAg ICBOQU1FUyB1aGQKKysgICAgSElOVFMgJEVOVntVSERfRElSfS9saWIKKysgICAgICAgICR7UENf VUhEX0xJQkRJUn0KKysgICAgUEFUSFMgL3Vzci9sb2NhbC9saWIKKysgICAgICAgICAgL3Vzci9s aWIKKyspCisrCisrSU5DTFVERShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKKytGSU5E X1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoVUhEIERFRkFVTFRfTVNHIFVIRF9MSUJSQVJJ RVMgVUhEX0lOQ0xVREVfRElSUykKKytNQVJLX0FTX0FEVkFOQ0VEKFVIRF9MSUJSQVJJRVMgVUhE X0lOQ0xVREVfRElSUykKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0dyQ29tcG9uZW50LmNt YWtlIGIvY21ha2UvTW9kdWxlcy9HckNvbXBvbmVudC5jbWFrZQorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAuLjIyYjBlYTQKKy0tLSAvZGV2L251bGwKKysrKyBjbWFrZS9Nb2R1 bGVzL0dyQ29tcG9uZW50LmNtYWtlCitAQCAtMCwwICsxLDExNSBAQAorKyMgQ29weXJpZ2h0IDIw MTAtMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysjCisrIyBUaGlzIGZpbGUg aXMgcGFydCBvZiBHTlUgUmFkaW8KKysjCisrIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysj IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5 b3VyIG9wdGlvbikKKysjIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIEdOVSBSYWRpbyBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUg Q09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8KKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwKKysjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg VVNBLgorKworK2lmKERFRklORUQgX19JTkNMVURFRF9HUl9DT01QT05FTlRfQ01BS0UpCisrICAg IHJldHVybigpCisrZW5kaWYoKQorK3NldChfX0lOQ0xVREVEX0dSX0NPTVBPTkVOVF9DTUFLRSBU UlVFKQorKworK3NldChfZ3JfZW5hYmxlZF9jb21wb25lbnRzICIiIENBQ0hFIElOVEVSTkFMICIi IEZPUkNFKQorK3NldChfZ3JfZGlzYWJsZWRfY29tcG9uZW50cyAiIiBDQUNIRSBJTlRFUk5BTCAi IiBGT1JDRSkKKysKKytpZihOT1QgREVGSU5FRCBFTkFCTEVfREVGQVVMVCkKKysgICAgc2V0KEVO QUJMRV9ERUZBVUxUIE9OKQorKyAgICBtZXNzYWdlKFNUQVRVUyAiIikKKysgICAgbWVzc2FnZShT VEFUVVMgIlRoZSBidWlsZCBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGVuYWJsZSBhbGwgY29t cG9uZW50cy4iKQorKyAgICBtZXNzYWdlKFNUQVRVUyAiVXNlIC1ERU5BQkxFX0RFRkFVTFQ9T0ZG IHRvIGRpc2FibGUgY29tcG9uZW50cyBieSBkZWZhdWx0LiIpCisrZW5kaWYoKQorKworKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworKyMgUmVnaXN0ZXIgYSBjb21wb25lbnQgaW50byB0aGUgc3lzdGVtCisrIyAt IG5hbWU6IGNhbm9uaWNhbCBjb21wb25lbnQgbmFtZQorKyMgLSB2YXI6IHZhcmlhYmxlIGZvciBl bmFibGVkIHN0YXR1cworKyMgLSBhcmduOiBsaXN0IG9mIGRlcGVuZGVuY2llcworKyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworK2Z1bmN0aW9uKEdSX1JFR0lTVEVSX0NPTVBPTkVOVCBuYW1lIHZhcikKKysgICAg aW5jbHVkZShDTWFrZURlcGVuZGVudE9wdGlvbikKKysgICAgbWVzc2FnZShTVEFUVVMgIiIpCisr ICAgIG1lc3NhZ2UoU1RBVFVTICJDb25maWd1cmluZyAke25hbWV9IHN1cHBvcnQuLi4iKQorKyAg ICBmb3JlYWNoKGRlcCAke0FSR059KQorKyAgICAgICAgbWVzc2FnZShTVEFUVVMgIiAgRGVwZW5k ZW5jeSAke2RlcH0gPSAkeyR7ZGVwfX0iKQorKyAgICBlbmRmb3JlYWNoKGRlcCkKKysKKysgICAg I2lmIHRoZSB1c2VyIHNldCB0aGUgdmFyIHRvIGZvcmNlLCB3ZSBub3RlIHRoaXMKKysgICAgaWYo IiR7JHt2YXJ9fSIgU1RSRVFVQUwgIkZPUkNFIikKKysgICAgICAgIHNldCgke3Zhcn0gT04pCisr ICAgICAgICBzZXQodmFyX2ZvcmNlIFRSVUUpCisrICAgIGVsc2UoKQorKyAgICAgICAgc2V0KHZh cl9mb3JjZSBGQUxTRSkKKysgICAgZW5kaWYoKQorKworKyAgICAjcmV3cml0ZSB0aGUgZGVwZW5k ZW5jeSBsaXN0IHNvIHRoYXQgZGVwcyB0aGF0IGFyZSBhbHNvIGNvbXBvbmVudHMgdXNlIHRoZSBj YWNoZWQgdmVyc2lvbgorKyAgICB1bnNldChjb21wX2RlcHMpCisrICAgIGZvcmVhY2goZGVwICR7 QVJHTn0pCisrICAgICAgICBsaXN0KEZJTkQgX2dyX2VuYWJsZWRfY29tcG9uZW50cyAke2RlcH0g ZGVwX2VuYl9pbmRleCkKKysgICAgICAgIGxpc3QoRklORCBfZ3JfZGlzYWJsZWRfY29tcG9uZW50 cyAke2RlcH0gZGVwX2Rpc19pbmRleCkKKysgICAgICAgIGlmICgke2RlcF9lbmJfaW5kZXh9IEVR VUFMIC0xIEFORCAke2RlcF9kaXNfaW5kZXh9IEVRVUFMIC0xKQorKyAgICAgICAgICAgIGxpc3Qo QVBQRU5EIGNvbXBfZGVwcyAke2RlcH0pCisrICAgICAgICBlbHNlKCkKKysgICAgICAgICAgICBs aXN0KEFQUEVORCBjb21wX2RlcHMgJHtkZXB9X2NhY2hlZCkgI2lzIGEgY29tcG9uZW50LCB1c2Ug Y2FjaGVkIHZlcnNpb24KKysgICAgICAgIGVuZGlmKCkKKysgICAgZW5kZm9yZWFjaChkZXApCisr CisrICAgICNzZXR1cCB0aGUgZGVwZW5kZW50IG9wdGlvbiBmb3IgdGhpcyBjb21wb25lbnQKKysg ICAgQ01BS0VfREVQRU5ERU5UX09QVElPTigke3Zhcn0gImVuYWJsZSAke25hbWV9IHN1cHBvcnQi ICR7RU5BQkxFX0RFRkFVTFR9ICIke2NvbXBfZGVwc30iIE9GRikKKysgICAgc2V0KCR7dmFyfSAi JHske3Zhcn19IiBQQVJFTlRfU0NPUEUpCisrICAgIHNldCgke3Zhcn1fY2FjaGVkICIkeyR7dmFy fX0iIENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQorKworKyAgICAjZm9yY2Ugd2FzIHNwZWNpZmll ZCwgYnV0IHRoZSBkZXBlbmRlbmNpZXMgd2VyZSBub3QgbWV0CisrICAgIGlmKE5PVCAke3Zhcn0g QU5EIHZhcl9mb3JjZSkKKysgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgInVzZXIgZm9yY2Ut ZW5hYmxlZCAke25hbWV9IGJ1dCBjb25maWd1cmF0aW9uIGNoZWNrZWQgZmFpbGVkIikKKysgICAg ZW5kaWYoKQorKworKyAgICAjYXBwZW5kIHRoZSBjb21wb25lbnQgaW50byBvbmUgb2YgdGhlIGxp c3RzCisrICAgIGlmKCR7dmFyfSkKKysgICAgICAgIG1lc3NhZ2UoU1RBVFVTICIgIEVuYWJsaW5n ICR7bmFtZX0gc3VwcG9ydC4iKQorKyAgICAgICAgbGlzdChBUFBFTkQgX2dyX2VuYWJsZWRfY29t cG9uZW50cyAke25hbWV9KQorKyAgICBlbHNlKCR7dmFyfSkKKysgICAgICAgIG1lc3NhZ2UoU1RB VFVTICIgIERpc2FibGluZyAke25hbWV9IHN1cHBvcnQuIikKKysgICAgICAgIGxpc3QoQVBQRU5E IF9ncl9kaXNhYmxlZF9jb21wb25lbnRzICR7bmFtZX0pCisrICAgIGVuZGlmKCR7dmFyfSkKKysg ICAgbWVzc2FnZShTVEFUVVMgIiAgT3ZlcnJpZGUgd2l0aCAtRCR7dmFyfT1PTi9PRkYiKQorKwor KyAgICAjbWFrZSBjb21wb25lbnRzIGxpc3RzIGludG8gZ2xvYmFsIHZhcmlhYmxlcworKyAgICBz ZXQoX2dyX2VuYWJsZWRfY29tcG9uZW50cyAke19ncl9lbmFibGVkX2NvbXBvbmVudHN9IENBQ0hF IElOVEVSTkFMICIiIEZPUkNFKQorKyAgICBzZXQoX2dyX2Rpc2FibGVkX2NvbXBvbmVudHMgJHtf Z3JfZGlzYWJsZWRfY29tcG9uZW50c30gQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCisrZW5kZnVu Y3Rpb24oR1JfUkVHSVNURVJfQ09NUE9ORU5UKQorKworKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyMgUHJp bnQgdGhlIHJlZ2lzdGVyZWQgY29tcG9uZW50IHN1bW1hcnkKKysjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKytm dW5jdGlvbihHUl9QUklOVF9DT01QT05FTlRfU1VNTUFSWSkKKysgICAgbWVzc2FnZShTVEFUVVMg IiIpCisrICAgIG1lc3NhZ2UoU1RBVFVTICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMiKQorKyAgICBtZXNzYWdlKFNUQVRVUyAiIyBnci1vc21v c2RyIGVuYWJsZWQgY29tcG9uZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAiKQorKyAgICBt ZXNzYWdlKFNUQVRVUyAiIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIikKKysgICAgZm9yZWFjaChjb21wICR7X2dyX2VuYWJsZWRfY29tcG9uZW50 c30pCisrICAgICAgICBtZXNzYWdlKFNUQVRVUyAiICAqICR7Y29tcH0iKQorKyAgICBlbmRmb3Jl YWNoKGNvbXApCisrCisrICAgIG1lc3NhZ2UoU1RBVFVTICIiKQorKyAgICBtZXNzYWdlKFNUQVRV UyAiIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IikKKysgICAgbWVzc2FnZShTVEFUVVMgIiMgZ3Itb3Ntb3NkciBkaXNhYmxlZCBjb21wb25lbnRz ICAgICAgICAgICAgICAgICAgICAgICAgIikKKysgICAgbWVzc2FnZShTVEFUVVMgIiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIpCisrICAgIGZv cmVhY2goY29tcCAke19ncl9kaXNhYmxlZF9jb21wb25lbnRzfSkKKysgICAgICAgIG1lc3NhZ2Uo U1RBVFVTICIgICogJHtjb21wfSIpCisrICAgIGVuZGZvcmVhY2goY29tcCkKKysKKysgICAgbWVz c2FnZShTVEFUVVMgIiIpCisrZW5kZnVuY3Rpb24oR1JfUFJJTlRfQ09NUE9ORU5UX1NVTU1BUlkp CitkaWZmIC0tZ2l0IGEvY21ha2UvTW9kdWxlcy9Hck1pc2NVdGlscy5jbWFrZSBiL2NtYWtlL01v ZHVsZXMvR3JNaXNjVXRpbHMuY21ha2UKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwLi43NDdlYjFhCistLS0gL2Rldi9udWxsCisrKysgY21ha2UvTW9kdWxlcy9Hck1pc2NVdGls cy5jbWFrZQorQEAgLTAsMCArMSw1MTkgQEAKKysjIENvcHlyaWdodCAyMDEwLTIwMTEsMjAxNCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysjCisrIyBUaGlzIGZpbGUgaXMgcGFydCBv ZiBHTlUgUmFkaW8KKysjCisrIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlv bikKKysjIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIEdOVSBSYWRpbyBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKysjIGFsb25nIHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4g IElmIG5vdCwgd3JpdGUgdG8KKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s IDUxIEZyYW5rbGluIFN0cmVldCwKKysjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKwor K2lmKERFRklORUQgX19JTkNMVURFRF9HUl9NSVNDX1VUSUxTX0NNQUtFKQorKyAgICByZXR1cm4o KQorK2VuZGlmKCkKKytzZXQoX19JTkNMVURFRF9HUl9NSVNDX1VUSUxTX0NNQUtFIFRSVUUpCisr CisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCisrIyBTZXQgZ2xvYmFsIHZhcmlhYmxlIG1hY3JvLgorKyMgVXNl ZCBmb3Igc3ViZGlyZWN0b3JpZXMgdG8gZXhwb3J0IHNldHRpbmdzLgorKyMgRXhhbXBsZTogaW5j bHVkZSBhbmQgbGlicmFyeSBwYXRocy4KKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKytmdW5jdGlvbihHUl9T RVRfR0xPQkFMIHZhcikKKysgICAgc2V0KCR7dmFyfSAke0FSR059IENBQ0hFIElOVEVSTkFMICIi IEZPUkNFKQorK2VuZGZ1bmN0aW9uKEdSX1NFVF9HTE9CQUwpCisrCisrIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisrIyBTZXQgdGhlIHByZS1wcm9jZXNzb3IgZGVmaW5pdGlvbiBpZiB0aGUgY29uZGl0aW9uIGlz IHRydWUuCisrIyAgLSBkZWYgdGhlIHByZS1wcm9jZXNzb3IgZGVmaW5pdGlvbiB0byBzZXQgYW5k IGNvbmRpdGlvbiBuYW1lCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrZnVuY3Rpb24oR1JfQUREX0NPTkRf REVGIGRlZikKKysgICAgaWYoJHtkZWZ9KQorKyAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EJHtk ZWZ9KQorKyAgICBlbmRpZigke2RlZn0pCisrZW5kZnVuY3Rpb24oR1JfQUREX0NPTkRfREVGKQor KworKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworKyMgQ2hlY2sgZm9yIGEgaGVhZGVyIGFuZCBjb25kaXRpb25h bGx5IHNldCBhIGNvbXBpbGUgZGVmaW5lLgorKyMgIC0gaGRyIHRoZSByZWxhdGl2ZSBwYXRoIHRv IHRoZSBoZWFkZXIgZmlsZQorKyMgIC0gZGVmIHRoZSBwcmUtcHJvY2Vzc29yIGRlZmluaXRpb24g dG8gc2V0CisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrZnVuY3Rpb24oR1JfQ0hFQ0tfSERSX05fREVGIGhk ciBkZWYpCisrICAgIGluY2x1ZGUoQ2hlY2tJbmNsdWRlRmlsZUNYWCkKKysgICAgQ0hFQ0tfSU5D TFVERV9GSUxFX0NYWCgke2hkcn0gJHtkZWZ9KQorKyAgICBHUl9BRERfQ09ORF9ERUYoJHtkZWZ9 KQorK2VuZGZ1bmN0aW9uKEdSX0NIRUNLX0hEUl9OX0RFRikKKysKKysjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KysjIEluY2x1ZGUgc3ViZGlyZWN0b3J5IG1hY3JvLgorKyMgU2V0cyB0aGUgQ01ha2UgZGlyZWN0 b3J5IHZhcmlhYmxlcywKKysjIGluY2x1ZGVzIHRoZSBzdWJkaXJlY3RvcnkgQ01ha2VMaXN0cy50 eHQsCisrIyByZXNldHMgdGhlIENNYWtlIGRpcmVjdG9yeSB2YXJpYWJsZXMuCisrIworKyMgVGhp cyBtYWNybyBpbmNsdWRlcyBzdWJkaXJlY3RvcmllcyByYXRoZXIgdGhhbiBhZGRpbmcgdGhlbQor KyMgc28gdGhhdCB0aGUgc3ViZGlyZWN0b3J5IGNhbiBhZmZlY3QgdmFyaWFibGVzIGluIHRoZSBs ZXZlbCBhYm92ZS4KKysjIFRoaXMgcHJvdmlkZXMgYSB3b3JrLWFyb3VuZCBmb3IgdGhlIGxhY2sg b2YgY29udmVuaWVuY2UgbGlicmFyaWVzLgorKyMgVGhpcyB3YXkgYSBzdWJkaXJlY3RvcnkgY2Fu IGFwcGVuZCB0byB0aGUgbGlzdCBvZiBsaWJyYXJ5IHNvdXJjZXMuCisrIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisrbWFjcm8oR1JfSU5DTFVERV9TVUJESVJFQ1RPUlkgc3ViZGlyKQorKyAgICAjaW5zZXJ0IHRo ZSBjdXJyZW50IGRpcmVjdG9yaWVzIG9uIHRoZSBmcm9udCBvZiB0aGUgbGlzdAorKyAgICBsaXN0 KElOU0VSVCBfY21ha2Vfc291cmNlX2RpcnMgMCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0p CisrICAgIGxpc3QoSU5TRVJUIF9jbWFrZV9iaW5hcnlfZGlycyAwICR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfSkKKysKKysgICAgI3NldCB0aGUgY3VycmVudCBkaXJlY3RvcmllcyB0byB0aGUg bmFtZXMgb2YgdGhlIHN1YmRpcnMKKysgICAgc2V0KENNQUtFX0NVUlJFTlRfU09VUkNFX0RJUiAk e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vJHtzdWJkaXJ9KQorKyAgICBzZXQoQ01BS0VfQ1VS UkVOVF9CSU5BUllfRElSICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke3N1YmRpcn0pCisr CisrICAgICNpbmNsdWRlIHRoZSBzdWJkaXJlY3RvcnkgQ01ha2VMaXN0cyB0byBydW4gaXQKKysg ICAgZmlsZShNQUtFX0RJUkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0pCisrICAg IGluY2x1ZGUoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L0NNYWtlTGlzdHMudHh0KQorKwor KyAgICAjcmVzZXQgdGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IGRpcmVjdG9yaWVzCisrICAgIGxp c3QoR0VUIF9jbWFrZV9zb3VyY2VfZGlycyAwIENNQUtFX0NVUlJFTlRfU09VUkNFX0RJUikKKysg ICAgbGlzdChHRVQgX2NtYWtlX2JpbmFyeV9kaXJzIDAgQ01BS0VfQ1VSUkVOVF9CSU5BUllfRElS KQorKworKyAgICAjcG9wIHRoZSBzdWJkaXIgbmFtZXMgb2YgdGhlIGZyb250IG9mIHRoZSBsaXN0 CisrICAgIGxpc3QoUkVNT1ZFX0FUIF9jbWFrZV9zb3VyY2VfZGlycyAwKQorKyAgICBsaXN0KFJF TU9WRV9BVCBfY21ha2VfYmluYXJ5X2RpcnMgMCkKKytlbmRtYWNybyhHUl9JTkNMVURFX1NVQkRJ UkVDVE9SWSkKKysKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysjIENoZWNrIGlmIGEgY29tcGlsZXIgZmxh ZyB3b3JrcyBhbmQgY29uZGl0aW9uYWxseSBzZXQgYSBjb21waWxlIGRlZmluZS4KKysjICAtIGZs YWcgdGhlIGNvbXBpbGVyIGZsYWcgdG8gY2hlY2sgZm9yCisrIyAgLSBoYXZlIHRoZSB2YXJpYWJs ZSB0byBzZXQgd2l0aCByZXN1bHQKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyttYWNybyhHUl9BRERfQ1hY X0NPTVBJTEVSX0ZMQUdfSUZfQVZBSUxBQkxFIGZsYWcgaGF2ZSkKKysgICAgaW5jbHVkZShDaGVj a0NYWENvbXBpbGVyRmxhZykKKysgICAgQ0hFQ0tfQ1hYX0NPTVBJTEVSX0ZMQUcoJHtmbGFnfSAk e2hhdmV9KQorKyAgICBpZigke2hhdmV9KQorKyAgICAgICAgYWRkX2RlZmluaXRpb25zKCR7Zmxh Z30pCisrICAgIGVuZGlmKCR7aGF2ZX0pCisrZW5kbWFjcm8oR1JfQUREX0NYWF9DT01QSUxFUl9G TEFHX0lGX0FWQUlMQUJMRSkKKysKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysjIEdlbmVyYXRlcyB0aGUg LmxhIGxpYnRvb2wgZmlsZQorKyMgVGhpcyBhcHBlYXJzIHRvIGdlbmVyYXRlIGxpYnRvb2wgZmls ZXMgdGhhdCBjYW5ub3QgYmUgdXNlZCBieSBhdXRvKi4KKysjIFVzYWdlIEdSX0xJQlRPT0woVEFS R0VUIFt0YXJnZXRdIERFU1RJTkFUSU9OIFtkZXN0XSkKKysjIE5vdGljZTogdGhlcmUgaXMgbm90 IENPTVBPTkVOVCBvcHRpb24sIHRoZXNlIHdpbGwgbm90IGdldCBkaXN0cmlidXRlZC4KKysjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKytmdW5jdGlvbihHUl9MSUJUT09MKQorKyAgICBpZihOT1QgREVGSU5FRCBH RU5FUkFURV9MSUJUT09MKQorKyAgICAgICAgc2V0KEdFTkVSQVRFX0xJQlRPT0wgT0ZGKSAjZGlz YWJsZWQgYnkgZGVmYXVsdAorKyAgICBlbmRpZigpCisrCisrICAgIGlmKEdFTkVSQVRFX0xJQlRP T0wpCisrICAgICAgICBpbmNsdWRlKENNYWtlUGFyc2VBcmd1bWVudHNDb3B5KQorKyAgICAgICAg Q01BS0VfUEFSU0VfQVJHVU1FTlRTKEdSX0xJQlRPT0wgIiIgIlRBUkdFVDtERVNUSU5BVElPTiIg IiIgJHtBUkdOfSkKKysKKysgICAgICAgIGZpbmRfcHJvZ3JhbShMSUJUT09MIGxpYnRvb2wpCisr ICAgICAgICBpZihMSUJUT09MKQorKyAgICAgICAgICAgIGluY2x1ZGUoQ01ha2VNYWNyb0xpYnRv b2xGaWxlKQorKyAgICAgICAgICAgIENSRUFURV9MSUJUT09MX0ZJTEUoJHtHUl9MSUJUT09MX1RB UkdFVH0gLyR7R1JfTElCVE9PTF9ERVNUSU5BVElPTn0pCisrICAgICAgICBlbmRpZihMSUJUT09M KQorKyAgICBlbmRpZihHRU5FUkFURV9MSUJUT09MKQorKworK2VuZGZ1bmN0aW9uKEdSX0xJQlRP T0wpCisrCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyBEbyBzdGFuZGFyZCB0aGluZ3MgdG8gdGhlIGxp YnJhcnkgdGFyZ2V0CisrIyAtIHNldCB0YXJnZXQgcHJvcGVydGllcworKyMgLSBtYWtlIGluc3Rh bGwgcnVsZXMKKysjIEFsc28gaGFuZGxlIGdudXJhZGlvIGN1c3RvbSBuYW1pbmcgY29udmVudGlv bnMgdy8gZXh0cmFzIG1vZGUuCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrZnVuY3Rpb24oR1JfTElCUkFS WV9GT08gdGFyZ2V0KQorKyAgICAjcGFyc2UgdGhlIGFyZ3VtZW50cyBmb3IgY29tcG9uZW50IG5h bWVzCisrICAgIGluY2x1ZGUoQ01ha2VQYXJzZUFyZ3VtZW50c0NvcHkpCisrICAgIENNQUtFX1BB UlNFX0FSR1VNRU5UUyhHUl9MSUJSQVJZICIiICJSVU5USU1FX0NPTVBPTkVOVDtERVZFTF9DT01Q T05FTlQiICIiICR7QVJHTn0pCisrCisrICAgICNzZXQgYWRkaXRpb25hbCB0YXJnZXQgcHJvcGVy dGllcworKyAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHt0YXJnZXR9IFBST1BFUlRJRVMgU09W RVJTSU9OICR7TElCVkVSfSkKKysKKysgICAgI2luc3RhbGwgdGhlIGdlbmVyYXRlZCBmaWxlcyBs aWtlIHNvLi4uCisrICAgIGluc3RhbGwoVEFSR0VUUyAke3RhcmdldH0KKysgICAgICAgIExJQlJB UlkgREVTVElOQVRJT04gJHtHUl9MSUJSQVJZX0RJUn0gQ09NUE9ORU5UICR7R1JfTElCUkFSWV9S VU5USU1FX0NPTVBPTkVOVH0gIyAuc28vLmR5bGliIGZpbGUKKysgICAgICAgIEFSQ0hJVkUgREVT VElOQVRJT04gJHtHUl9MSUJSQVJZX0RJUn0gQ09NUE9ORU5UICR7R1JfTElCUkFSWV9ERVZFTF9D T01QT05FTlR9ICAgIyAubGliIGZpbGUKKysgICAgICAgIFJVTlRJTUUgREVTVElOQVRJT04gJHtH Ul9SVU5USU1FX0RJUn0gQ09NUE9ORU5UICR7R1JfTElCUkFSWV9SVU5USU1FX0NPTVBPTkVOVH0g IyAuZGxsIGZpbGUKKysgICAgKQorKworKyAgICAjZXh0cmFzIG1vZGUgZW5hYmxlZCBhdXRvbWF0 aWNhbGx5IG9uIGxpbnV4CisrICAgIGlmKE5PVCBERUZJTkVEIExJQlJBUllfRVhUUkFTKQorKyAg ICAgICAgc2V0KExJQlJBUllfRVhUUkFTICR7TElOVVh9KQorKyAgICBlbmRpZigpCisrCisrICAg ICNzcGVjaWFsIGV4dHJhcyBtb2RlIHRvIGVuYWJsZSBhbHRlcm5hdGl2ZSBuYW1pbmcgY29udmVu dGlvbnMKKysgICAgaWYoTElCUkFSWV9FWFRSQVMpCisrCisrICAgICAgICAjY3JlYXRlIC5sYSBm aWxlIGJlZm9yZSBjaGFuZ2luZyBwcm9wcworKyAgICAgICAgR1JfTElCVE9PTChUQVJHRVQgJHt0 YXJnZXR9IERFU1RJTkFUSU9OICR7R1JfTElCUkFSWV9ESVJ9KQorKworKyAgICAgICAgI2dpdmUg dGhlIGxpYnJhcnkgYSBzcGVjaWFsIG5hbWUgd2l0aCB1bHRyYS16ZXJvIHNvdmVyc2lvbgorKyAg ICAgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7dGFyZ2V0fSBQUk9QRVJUSUVTIE9VVFBVVF9O QU1FICR7dGFyZ2V0fS0ke0xJQlZFUn0gU09WRVJTSU9OICIwLjAuMCIpCisrICAgICAgICBzZXQo dGFyZ2V0X25hbWUgbGliJHt0YXJnZXR9LSR7TElCVkVSfS5zby4wLjAuMCkKKysKKysgICAgICAg ICNjdXN0b20gY29tbWFuZCB0byBnZW5lcmF0ZSBzeW1saW5rcworKyAgICAgICAgYWRkX2N1c3Rv bV9jb21tYW5kKAorKyAgICAgICAgICAgIFRBUkdFVCAke3RhcmdldH0KKysgICAgICAgICAgICBQ T1NUX0JVSUxECisrICAgICAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGNyZWF0 ZV9zeW1saW5rICR7dGFyZ2V0X25hbWV9ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9saWIk e3RhcmdldH0uc28KKysgICAgICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgY3Jl YXRlX3N5bWxpbmsgJHt0YXJnZXRfbmFtZX0gJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2xp YiR7dGFyZ2V0fS0ke0xJQlZFUn0uc28uMAorKyAgICAgICAgICAgIENPTU1BTkQgJHtDTUFLRV9D T01NQU5EfSAtRSB0b3VjaCAke3RhcmdldF9uYW1lfSAjc28gdGhlIHN5bWxpbmtzIHBvaW50IHRv IHNvbWV0aGluZyB2YWxpZCBzbyBjbWFrZSAyLjYgd2lsbCBpbnN0YWxsCisrICAgICAgICApCisr CisrICAgICAgICAjYW5kIGluc3RhbGwgdGhlIGV4dHJhIHN5bWxpbmtzCisrICAgICAgICBpbnN0 YWxsKAorKyAgICAgICAgICAgIEZJTEVTCisrICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX0JJ TkFSWV9ESVJ9L2xpYiR7dGFyZ2V0fS5zbworKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfS9saWIke3RhcmdldH0tJHtMSUJWRVJ9LnNvLjAKKysgICAgICAgICAgICBERVNU SU5BVElPTiAke0dSX0xJQlJBUllfRElSfSBDT01QT05FTlQgJHtHUl9MSUJSQVJZX1JVTlRJTUVf Q09NUE9ORU5UfQorKyAgICAgICAgKQorKworKyAgICBlbmRpZihMSUJSQVJZX0VYVFJBUykKKytl bmRmdW5jdGlvbihHUl9MSUJSQVJZX0ZPTykKKysKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysjIENyZWF0 ZSBhIGR1bW15IGN1c3RvbSBjb21tYW5kIHRoYXQgZGVwZW5kcyBvbiBvdGhlciB0YXJnZXRzLgor KyMgVXNhZ2U6CisrIyAgIEdSX0dFTl9UQVJHRVRfREVQUyh1bmlxdWVfbmFtZSB0YXJnZXRfZGVw cyA8dGFyZ2V0MT4gPHRhcmdldDI+IC4uLikKKysjICAgQUREX0NVU1RPTV9DT01NQU5EKDx0aGUg dXN1YWwgYXJncz4gJHt0YXJnZXRfZGVwc30pCisrIworKyMgQ3VzdG9tIGNvbW1hbmQgY2FudCBk ZXBlbmQgb24gdGFyZ2V0cywgYnV0IGNhbiBkZXBlbmQgb24gZXhlY3V0YWJsZXMsCisrIyBhbmQg ZXhlY3V0YWJsZXMgY2FuIGRlcGVuZCBvbiB0YXJnZXRzLiBTbyB0aGlzIGlzIHRoZSBwcm9jZXNz OgorKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworK2Z1bmN0aW9uKEdSX0dFTl9UQVJHRVRfREVQUyBuYW1lIHZh cikKKysgICAgZmlsZSgKKysgICAgICAgIFdSSVRFICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElS fS8ke25hbWV9LmNwcC5pbgorKyAgICAgICAgImludCBtYWluKHZvaWQpe3JldHVybiAwO31cbiIK KysgICAgKQorKyAgICBleGVjdXRlX3Byb2Nlc3MoCisrICAgICAgICBDT01NQU5EICR7Q01BS0Vf Q09NTUFORH0gLUUgY29weV9pZl9kaWZmZXJlbnQKKysgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfS8ke25hbWV9LmNwcC5pbgorKyAgICAgICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFS WV9ESVJ9LyR7bmFtZX0uY3BwCisrICAgICkKKysgICAgYWRkX2V4ZWN1dGFibGUoJHtuYW1lfSAk e0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vJHtuYW1lfS5jcHApCisrICAgIGlmKEFSR04pCisr ICAgICAgICBhZGRfZGVwZW5kZW5jaWVzKCR7bmFtZX0gJHtBUkdOfSkKKysgICAgZW5kaWYoQVJH TikKKysKKysgICAgaWYoQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisrICAgICAgICBzZXQoJHt2YXJ9 ICJERVBFTkRTOyR7bmFtZX0iIFBBUkVOVF9TQ09QRSkgI2NhbnQgY2FsbCBjb21tYW5kIHdoZW4g Y3Jvc3MKKysgICAgZWxzZSgpCisrICAgICAgICBzZXQoJHt2YXJ9ICJERVBFTkRTOyR7bmFtZX07 Q09NTUFORDske25hbWV9IiBQQVJFTlRfU0NPUEUpCisrICAgIGVuZGlmKCkKKytlbmRmdW5jdGlv bihHUl9HRU5fVEFSR0VUX0RFUFMpCisrCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyBDb250cm9sIHVz ZSBvZiBncl9sb2dnZXIKKysjIFVzYWdlOgorKyMgICBHUl9MT0dHSU5HKCkKKysjCisrIyBXaWxs IHNldCBFTkFCTEVfR1JfTE9HIHRvIDEgYnkgZGVmYXVsdC4KKysjIENhbiBtYW51YWxseSBzZXQg d2l0aCAtREVOQUJMRV9HUl9MT0c9MHwxCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrZnVuY3Rpb24oR1Jf TE9HR0lORykKKysgIGZpbmRfcGFja2FnZShMb2c0Y3BwKQorKworKyAgT1BUSU9OKEVOQUJMRV9H Ul9MT0cgIlVzZSBncl9sb2dnZXIiIE9OKQorKyAgaWYoRU5BQkxFX0dSX0xPRykKKysgICAgIyBJ ZiBncl9sb2dnZXIgaXMgZW5hYmxlZCwgbWFrZSBpdCB1c2FibGUKKysgICAgYWRkX2RlZmluaXRp b25zKCAtREVOQUJMRV9HUl9MT0cgKQorKworKyAgICAjIGFsc28gdGVzdCBMT0c0Q1BQOyBpZiB3 ZSBoYXZlIGl0LCB1c2UgdGhpcyB2ZXJzaW9uIG9mIHRoZSBsb2dnZXIKKysgICAgIyBvdGhlcndp c2UsIGRlZmF1bHQgdG8gdGhlIHN0ZG91dC9zdGRlcnIgbW9kZWwuCisrICAgIGlmKExPRzRDUFBf Rk9VTkQpCisrICAgICAgU0VUKEhBVkVfTE9HNENQUCBUcnVlIENBQ0hFIElOVEVSTkFMICIiIEZP UkNFKQorKyAgICAgIGFkZF9kZWZpbml0aW9ucyggLURIQVZFX0xPRzRDUFAgKQorKyAgICBlbHNl KG5vdCBMT0c0Q1BQX0ZPVU5EKQorKyAgICAgIFNFVChIQVZFX0xPRzRDUFAgRmFsc2UgQ0FDSEUg SU5URVJOQUwgIiIgRk9SQ0UpCisrICAgICAgU0VUKExPRzRDUFBfSU5DTFVERV9ESVJTICIiIENB Q0hFIElOVEVSTkFMICIiIEZPUkNFKQorKyAgICAgIFNFVChMT0c0Q1BQX0xJQlJBUllfRElSUyAi IiBDQUNIRSBJTlRFUk5BTCAiIiBGT1JDRSkKKysgICAgICBTRVQoTE9HNENQUF9MSUJSQVJJRVMg IiIgQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCisrICAgIGVuZGlmKExPRzRDUFBfRk9VTkQpCisr CisrICAgIFNFVChFTkFCTEVfR1JfTE9HICR7RU5BQkxFX0dSX0xPR30gQ0FDSEUgSU5URVJOQUwg IiIgRk9SQ0UpCisrCisrICBlbHNlKEVOQUJMRV9HUl9MT0cpCisrICAgIFNFVChIQVZFX0xPRzRD UFAgRmFsc2UgQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCisrICAgIFNFVChMT0c0Q1BQX0lOQ0xV REVfRElSUyAiIiBDQUNIRSBJTlRFUk5BTCAiIiBGT1JDRSkKKysgICAgU0VUKExPRzRDUFBfTElC UkFSWV9ESVJTICIiIENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQorKyAgICBTRVQoTE9HNENQUF9M SUJSQVJJRVMgIiIgQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCisrICBlbmRpZihFTkFCTEVfR1Jf TE9HKQorKworKyAgbWVzc2FnZShTVEFUVVMgIkVOQUJMRV9HUl9MT0cgc2V0IHRvICR7RU5BQkxF X0dSX0xPR30uIikKKysgIG1lc3NhZ2UoU1RBVFVTICJIQVZFX0xPRzRDUFAgc2V0IHRvICR7SEFW RV9MT0c0Q1BQfS4iKQorKyAgbWVzc2FnZShTVEFUVVMgIkxPRzRDUFBfTElCUkFSSUVTIHNldCB0 byAke0xPRzRDUFBfTElCUkFSSUVTfS4iKQorKworK2VuZGZ1bmN0aW9uKEdSX0xPR0dJTkcpCisr CisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCisrIyBSdW4gR1JDQyB0byBjb21waWxlIC5ncmMgZmlsZXMgaW50 byAucHkgZmlsZXMuCisrIworKyMgVXNhZ2U6IEdSQ0MoZmlsZW5hbWUsIGRpcmVjdG9yeSkKKysj ICAgIC0gZmlsZW5hbWVzOiBMaXN0IG9mIGZpbGUgbmFtZSBvZiAuZ3JjIGZpbGUKKysjICAgIC0g ZGlyZWN0b3J5OiBkaXJlY3Rvcnkgb2YgYnVpbHQgLnB5IGZpbGUgLSB1c3VhbGx5IGluCisrIyAg ICAgICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9CisrIyAgICAtIFNldHMg UFlGSUxFUzogb3V0cHV0IGNvbnZlcnRlZCBHUkMgZmlsZSBuYW1lcyB0byBQeXRob24gZmlsZXMu CisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCisrZnVuY3Rpb24oR1JDQykKKysgICMgRXh0cmFjdCBkaXJlY3Rv cnkgZnJvbSBsaXN0IG9mIGFyZ3MsIHJlbW92ZSBpdCBmb3IgdGhlIGxpc3Qgb2YgZmlsZW5hbWVz LgorKyAgbGlzdChHRVQgQVJHViAtMSBkaXJlY3RvcnkpCisrICBsaXN0KFJFTU9WRV9BVCBBUkdW IC0xKQorKyAgc2V0KGZpbGVuYW1lcyAke0FSR1Z9KQorKyAgZmlsZShNQUtFX0RJUkVDVE9SWSAk e2RpcmVjdG9yeX0pCisrCisrICBTRVQoR1JDQ19DT01NQU5EICR7Q01BS0VfU09VUkNFX0RJUn0v Z3ItdXRpbHMvcHl0aG9uL2dyY2MpCisrCisrICAjIEdSQ0MgdXNlcyBzb21lIHN0dWZmIGluIGdy YyBhbmQgZ251cmFkaW8tcnVudGltZSwgc28gd2UgZm9yY2UKKysgICMgdGhlIGtub3duIHBhdGhz IGhlcmUKKysgIGxpc3QoQVBQRU5EIFBZVEhPTlBBVEhTCisrICAgICR7Q01BS0VfU09VUkNFX0RJ Un0KKysgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9nbnVyYWRpby1ydW50aW1lL3B5dGhvbgorKyAg ICAke0NNQUtFX1NPVVJDRV9ESVJ9L2dudXJhZGlvLXJ1bnRpbWUvbGliL3N3aWcKKysgICAgJHtD TUFLRV9CSU5BUllfRElSfS9nbnVyYWRpby1ydW50aW1lL2xpYi9zd2lnCisrICAgICkKKysKKysg IGlmKFdJTjMyKQorKyAgICAjU1dJRyBnZW5lcmF0ZXMgdGhlIHB5dGhvbiBsaWJyYXJ5IGZpbGVz IGludG8gYSBzdWJkaXJlY3RvcnkuCisrICAgICNUaGVyZWZvcmUsIHdlIG11c3QgYXBwZW5kIHRo aXMgc3ViZGlyZWN0b3J5IGludG8gUFlUSE9OUEFUSC4KKysgICAgI09ubHkgZG8gdGhpcyBmb3Ig dGhlIHB5dGhvbiBkaXJlY3RvcmllcyBtYXRjaGluZyB0aGUgZm9sbG93aW5nOgorKyAgICBmb3Jl YWNoKHB5ZGlyICR7UFlUSE9OUEFUSFN9KQorKyAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQo bmFtZSAke3B5ZGlyfSBOQU1FKQorKyAgICAgIGlmKG5hbWUgTUFUQ0hFUyAiXihzd2lnfGxpYnxz cmMpJCIpCisrICAgICAgICBsaXN0KEFQUEVORCBQWVRIT05QQVRIUyAke3B5ZGlyfS8ke0NNQUtF X0JVSUxEX1RZUEV9KQorKyAgICAgIGVuZGlmKCkKKysgICAgZW5kZm9yZWFjaChweWRpcikKKysg IGVuZGlmKFdJTjMyKQorKworKyAgZmlsZShUT19OQVRJVkVfUEFUSCAiJHtQWVRIT05QQVRIU30i IHB5cGF0aCkKKysKKysgIGlmKFVOSVgpCisrICAgIGxpc3QoQVBQRU5EIHB5cGF0aCAiJFBZVEhP TlBBVEgiKQorKyAgICBzdHJpbmcoUkVQTEFDRSAiOyIgIjoiIHB5cGF0aCAiJHtweXBhdGh9IikK KysgICAgc2V0KEVOVntQWVRIT05QQVRIfSAke3B5cGF0aH0pCisrICBlbmRpZihVTklYKQorKwor KyAgaWYoV0lOMzIpCisrICAgIGxpc3QoQVBQRU5EIHB5cGF0aCAiJVBZVEhPTlBBVEglIikKKysg ICAgc3RyaW5nKFJFUExBQ0UgIjsiICJcXDsiIHB5cGF0aCAiJHtweXBhdGh9IikKKysgICAgI2xp c3QoQVBQRU5EIGVudmlyb25zICJQWVRIT05QQVRIPSR7cHlwYXRofSIpCisrICAgIHNldChFTlZ7 UFlUSE9OUEFUSH0gJHtweXBhdGh9KQorKyAgZW5kaWYoV0lOMzIpCisrCisrICBmb3JlYWNoKGYg JHtmaWxlbmFtZXN9KQorKyAgICBleGVjdXRlX3Byb2Nlc3MoCisrICAgICAgQ09NTUFORCAke0dS Q0NfQ09NTUFORH0gLWQgJHtkaXJlY3Rvcnl9ICR7Zn0KKysgICAgICApCisrICAgIHN0cmluZyhS RVBMQUNFICIuZ3JjIiAiLnB5IiBweWZpbGUgIiR7Zn0iKQorKyAgICBzdHJpbmcoUkVQTEFDRSAi JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9IiAiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9 IiBweWZpbGUgIiR7cHlmaWxlfSIpCisrICAgIGxpc3QoQVBQRU5EIHB5ZmlsZXMgJHtweWZpbGV9 KQorKyAgZW5kZm9yZWFjaChmKQorKworKyAgc2V0KFBZRklMRVMgJHtweWZpbGVzfSBQQVJFTlRf U0NPUEUpCisrZW5kZnVuY3Rpb24oR1JDQykKKysKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysjIENoZWNr IGlmIEhBVkVfUFRIUkVBRF9TRVRTQ0hFRFBBUkFNIGFuZCBIQVZFX1NDSEVEX1NFVFNDSEVEVUxF UgorKyMgIHNob3VsZCBiZSBkZWZpbmVkCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrbWFjcm8oR1JfQ0hF Q0tfTElOVVhfU0NIRURfQVZBSUwpCisrc2V0KENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAtbHB0 aHJlYWQpCisrICAgIENIRUNLX0NYWF9TT1VSQ0VfQ09NUElMRVMoIgorKyAgICAgICAgI2luY2x1 ZGUgPHB0aHJlYWQuaD4KKysgICAgICAgIGludCBtYWluKCl7CisrICAgICAgICAgICAgcHRocmVh ZF90IHB0aHJlYWQ7CisrICAgICAgICAgICAgcHRocmVhZF9zZXRzY2hlZHBhcmFtKHB0aHJlYWQs ICAwLCAwKTsKKysgICAgICAgICAgICByZXR1cm4gMDsKKysgICAgICAgIH0gIiBIQVZFX1BUSFJF QURfU0VUU0NIRURQQVJBTQorKyAgICApCisrICAgIEdSX0FERF9DT05EX0RFRihIQVZFX1BUSFJF QURfU0VUU0NIRURQQVJBTSkKKysKKysgICAgQ0hFQ0tfQ1hYX1NPVVJDRV9DT01QSUxFUygiCisr ICAgICAgICAjaW5jbHVkZSA8c2NoZWQuaD4KKysgICAgICAgIGludCBtYWluKCl7CisrICAgICAg ICAgICAgcGlkX3QgcGlkOworKyAgICAgICAgICAgIHNjaGVkX3NldHNjaGVkdWxlcihwaWQsIDAs IDApOworKyAgICAgICAgICAgIHJldHVybiAwOworKyAgICAgICAgfSAiIEhBVkVfU0NIRURfU0VU U0NIRURVTEVSCisrICAgICkKKysgICAgR1JfQUREX0NPTkRfREVGKEhBVkVfU0NIRURfU0VUU0NI RURVTEVSKQorK2VuZG1hY3JvKEdSX0NIRUNLX0xJTlVYX1NDSEVEX0FWQUlMKQorKworKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworKyMgTWFjcm9zIHRvIGdlbmVyYXRlIHNvdXJjZSBhbmQgaGVhZGVyIGZpbGVz IGZyb20gdGVtcGxhdGUKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyttYWNybyhHUl9FWFBBTkRfWF9IIGNv bXBvbmVudCByb290KQorKworKyAgaW5jbHVkZShHclB5dGhvbikKKysKKysgIGZpbGUoV1JJVEUg JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dlbmVyYXRlX2hlbHBlci5weQorKyIjISR7UFlU SE9OX0VYRUNVVEFCTEV9CisrCisraW1wb3J0IHN5cywgb3MsIHJlCisrc3lzLnBhdGguYXBwZW5k KCcke0dSX1JVTlRJTUVfUFlUSE9OUEFUSH0nKQorK29zLmVudmlyb25bJ3NyY2RpciddID0gJyR7 Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfScKKytvcy5jaGRpcignJHtDTUFLRV9DVVJSRU5UX0JJ TkFSWV9ESVJ9JykKKysKKytpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorKyAgICBpbXBvcnQg YnVpbGRfdXRpbHMKKysgICAgcm9vdCwgaW5wID0gc3lzLmFyZ3ZbMTozXQorKyAgICBmb3Igc2ln IGluIHN5cy5hcmd2WzM6XToKKysgICAgICAgIG5hbWUgPSByZS5zdWIgKCdYKycsIHNpZywgcm9v dCkKKysgICAgICAgIGQgPSBidWlsZF91dGlscy5zdGFuZGFyZF9kaWN0MihuYW1lLCBzaWcsICck e2NvbXBvbmVudH0nKQorKyAgICAgICAgYnVpbGRfdXRpbHMuZXhwYW5kX3RlbXBsYXRlKGQsIGlu cCkKKysiKQorKworKyAgI21ha2UgYSBsaXN0IG9mIGFsbCB0aGUgZ2VuZXJhdGVkIGhlYWRlcnMK KysgIHVuc2V0KGV4cGFuZGVkX2ZpbGVzX2gpCisrICBmb3JlYWNoKHNpZyAke0FSR059KQorKyAg ICBzdHJpbmcoUkVHRVggUkVQTEFDRSAiWCsiICR7c2lnfSBuYW1lICR7cm9vdH0pCisrICAgIGxp c3QoQVBQRU5EIGV4cGFuZGVkX2ZpbGVzX2ggJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7 bmFtZX0uaCkKKysgIGVuZGZvcmVhY2goc2lnKQorKyAgdW5zZXQobmFtZSkKKysKKysgICNjcmVh dGUgYSBjb21tYW5kIHRvIGdlbmVyYXRlIHRoZSBoZWFkZXJzCisrICBhZGRfY3VzdG9tX2NvbW1h bmQoCisrICAgIE9VVFBVVCAke2V4cGFuZGVkX2ZpbGVzX2h9CisrICAgIERFUEVORFMgJHtDTUFL RV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7cm9vdH0uaC50CisrICAgIENPTU1BTkQgJHtQWVRIT05f RVhFQ1VUQUJMRX0gJHtQWVRIT05fREFTSF9CfQorKyAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZ X0RJUn0vZ2VuZXJhdGVfaGVscGVyLnB5CisrICAgICR7cm9vdH0gJHtyb290fS5oLnQgJHtBUkdO fQorKyAgKQorKworKyAgI2luc3RhbGwgcnVsZXMgZm9yIHRoZSBnZW5lcmF0ZWQgaGVhZGVycwor KyAgbGlzdChBUFBFTkQgZ2VuZXJhdGVkX2luY2x1ZGVzICR7ZXhwYW5kZWRfZmlsZXNfaH0pCisr CisrZW5kbWFjcm8oR1JfRVhQQU5EX1hfSCkKKysKKyttYWNybyhHUl9FWFBBTkRfWF9DQ19IIGNv bXBvbmVudCByb290KQorKworKyAgaW5jbHVkZShHclB5dGhvbikKKysKKysgIGZpbGUoV1JJVEUg JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dlbmVyYXRlX2hlbHBlci5weQorKyIjISR7UFlU SE9OX0VYRUNVVEFCTEV9CisrCisraW1wb3J0IHN5cywgb3MsIHJlCisrc3lzLnBhdGguYXBwZW5k KCcke0dSX1JVTlRJTUVfUFlUSE9OUEFUSH0nKQorK29zLmVudmlyb25bJ3NyY2RpciddID0gJyR7 Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfScKKytvcy5jaGRpcignJHtDTUFLRV9DVVJSRU5UX0JJ TkFSWV9ESVJ9JykKKysKKytpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorKyAgICBpbXBvcnQg YnVpbGRfdXRpbHMKKysgICAgcm9vdCwgaW5wID0gc3lzLmFyZ3ZbMTozXQorKyAgICBmb3Igc2ln IGluIHN5cy5hcmd2WzM6XToKKysgICAgICAgIG5hbWUgPSByZS5zdWIgKCdYKycsIHNpZywgcm9v dCkKKysgICAgICAgIGQgPSBidWlsZF91dGlscy5zdGFuZGFyZF9pbXBsX2RpY3QyKG5hbWUsIHNp ZywgJyR7Y29tcG9uZW50fScpCisrICAgICAgICBidWlsZF91dGlscy5leHBhbmRfdGVtcGxhdGUo ZCwgaW5wKQorKyIpCisrCisrICAjbWFrZSBhIGxpc3Qgb2YgYWxsIHRoZSBnZW5lcmF0ZWQgZmls ZXMKKysgIHVuc2V0KGV4cGFuZGVkX2ZpbGVzX2NjKQorKyAgdW5zZXQoZXhwYW5kZWRfZmlsZXNf aCkKKysgIGZvcmVhY2goc2lnICR7QVJHTn0pCisrICAgIHN0cmluZyhSRUdFWCBSRVBMQUNFICJY KyIgJHtzaWd9IG5hbWUgJHtyb290fSkKKysgICAgbGlzdChBUFBFTkQgZXhwYW5kZWRfZmlsZXNf Y2MgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7bmFtZX0uY2MpCisrICAgIGxpc3QoQVBQ RU5EIGV4cGFuZGVkX2ZpbGVzX2ggICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke25hbWV9 LmgpCisrICBlbmRmb3JlYWNoKHNpZykKKysgIHVuc2V0KG5hbWUpCisrCisrICAjY3JlYXRlIGEg Y29tbWFuZCB0byBnZW5lcmF0ZSB0aGUgc291cmNlIGZpbGVzCisrICBhZGRfY3VzdG9tX2NvbW1h bmQoCisrICAgIE9VVFBVVCAke2V4cGFuZGVkX2ZpbGVzX2NjfQorKyAgICBERVBFTkRTICR7Q01B S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8ke3Jvb3R9LmNjLnQKKysgICAgQ09NTUFORCAke1BZVEhP Tl9FWEVDVVRBQkxFfSAke1BZVEhPTl9EQVNIX0J9CisrICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5B UllfRElSfS9nZW5lcmF0ZV9oZWxwZXIucHkKKysgICAgJHtyb290fSAke3Jvb3R9LmNjLnQgJHtB UkdOfQorKyAgKQorKworKyAgI2NyZWF0ZSBhIGNvbW1hbmQgdG8gZ2VuZXJhdGUgdGhlIGhlYWRl ciBmaWxlcworKyAgYWRkX2N1c3RvbV9jb21tYW5kKAorKyAgICBPVVRQVVQgJHtleHBhbmRlZF9m aWxlc19ofQorKyAgICBERVBFTkRTICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8ke3Jvb3R9 LmgudAorKyAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7UFlUSE9OX0RBU0hfQn0K KysgICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dlbmVyYXRlX2hlbHBlci5weQorKyAg ICAke3Jvb3R9ICR7cm9vdH0uaC50ICR7QVJHTn0KKysgICkKKysKKysgICNtYWtlIHNvdXJjZSBm aWxlcyBkZXBlbmRzIG9uIGhlYWRlcnMgdG8gZm9yY2UgZ2VuZXJhdGlvbgorKyAgc2V0X3NvdXJj ZV9maWxlc19wcm9wZXJ0aWVzKCR7ZXhwYW5kZWRfZmlsZXNfY2N9CisrICAgIFBST1BFUlRJRVMg T0JKRUNUX0RFUEVORFMgIiR7ZXhwYW5kZWRfZmlsZXNfaH0iCisrICApCisrCisrICAjaW5zdGFs bCBydWxlcyBmb3IgdGhlIGdlbmVyYXRlZCBmaWxlcworKyAgbGlzdChBUFBFTkQgZ2VuZXJhdGVk X3NvdXJjZXMgJHtleHBhbmRlZF9maWxlc19jY30pCisrICBsaXN0KEFQUEVORCBnZW5lcmF0ZWRf aGVhZGVycyAke2V4cGFuZGVkX2ZpbGVzX2h9KQorKworK2VuZG1hY3JvKEdSX0VYUEFORF9YX0ND X0gpCisrCisrbWFjcm8oR1JfRVhQQU5EX1hfQ0NfSF9JTVBMIGNvbXBvbmVudCByb290KQorKwor KyAgaW5jbHVkZShHclB5dGhvbikKKysKKysgIGZpbGUoV1JJVEUgJHtDTUFLRV9DVVJSRU5UX0JJ TkFSWV9ESVJ9L2dlbmVyYXRlX2hlbHBlci5weQorKyIjISR7UFlUSE9OX0VYRUNVVEFCTEV9Cisr CisraW1wb3J0IHN5cywgb3MsIHJlCisrc3lzLnBhdGguYXBwZW5kKCcke0dSX1JVTlRJTUVfUFlU SE9OUEFUSH0nKQorK29zLmVudmlyb25bJ3NyY2RpciddID0gJyR7Q01BS0VfQ1VSUkVOVF9TT1VS Q0VfRElSfScKKytvcy5jaGRpcignJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9JykKKysKKytp ZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorKyAgICBpbXBvcnQgYnVpbGRfdXRpbHMKKysgICAg cm9vdCwgaW5wID0gc3lzLmFyZ3ZbMTozXQorKyAgICBmb3Igc2lnIGluIHN5cy5hcmd2WzM6XToK KysgICAgICAgIG5hbWUgPSByZS5zdWIgKCdYKycsIHNpZywgcm9vdCkKKysgICAgICAgIGQgPSBi dWlsZF91dGlscy5zdGFuZGFyZF9kaWN0KG5hbWUsIHNpZywgJyR7Y29tcG9uZW50fScpCisrICAg ICAgICBidWlsZF91dGlscy5leHBhbmRfdGVtcGxhdGUoZCwgaW5wLCAnX2ltcGwnKQorKyIpCisr CisrICAjbWFrZSBhIGxpc3Qgb2YgYWxsIHRoZSBnZW5lcmF0ZWQgZmlsZXMKKysgIHVuc2V0KGV4 cGFuZGVkX2ZpbGVzX2NjX2ltcGwpCisrICB1bnNldChleHBhbmRlZF9maWxlc19oX2ltcGwpCisr ICB1bnNldChleHBhbmRlZF9maWxlc19oKQorKyAgZm9yZWFjaChzaWcgJHtBUkdOfSkKKysgICAg c3RyaW5nKFJFR0VYIFJFUExBQ0UgIlgrIiAke3NpZ30gbmFtZSAke3Jvb3R9KQorKyAgICBsaXN0 KEFQUEVORCBleHBhbmRlZF9maWxlc19jY19pbXBsICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElS fS8ke25hbWV9X2ltcGwuY2MpCisrICAgIGxpc3QoQVBQRU5EIGV4cGFuZGVkX2ZpbGVzX2hfaW1w bCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vJHtuYW1lfV9pbXBsLmgpCisrICAgIGxpc3Qo QVBQRU5EIGV4cGFuZGVkX2ZpbGVzX2ggJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9Ly4uL2lu Y2x1ZGUvZ251cmFkaW8vJHtjb21wb25lbnR9LyR7bmFtZX0uaCkKKysgIGVuZGZvcmVhY2goc2ln KQorKyAgdW5zZXQobmFtZSkKKysKKysgICNjcmVhdGUgYSBjb21tYW5kIHRvIGdlbmVyYXRlIHRo ZSBfaW1wbC5jYyBmaWxlcworKyAgYWRkX2N1c3RvbV9jb21tYW5kKAorKyAgICBPVVRQVVQgJHtl eHBhbmRlZF9maWxlc19jY19pbXBsfQorKyAgICBERVBFTkRTICR7Q01BS0VfQ1VSUkVOVF9TT1VS Q0VfRElSfS8ke3Jvb3R9X2ltcGwuY2MudAorKyAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFC TEV9ICR7UFlUSE9OX0RBU0hfQn0KKysgICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dl bmVyYXRlX2hlbHBlci5weQorKyAgICAke3Jvb3R9ICR7cm9vdH1faW1wbC5jYy50ICR7QVJHTn0K KysgICkKKysKKysgICNjcmVhdGUgYSBjb21tYW5kIHRvIGdlbmVyYXRlIHRoZSBfaW1wbC5oIGZp bGVzCisrICBhZGRfY3VzdG9tX2NvbW1hbmQoCisrICAgIE9VVFBVVCAke2V4cGFuZGVkX2ZpbGVz X2hfaW1wbH0KKysgICAgREVQRU5EUyAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vJHtyb290 fV9pbXBsLmgudAorKyAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7UFlUSE9OX0RB U0hfQn0KKysgICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dlbmVyYXRlX2hlbHBlci5w eQorKyAgICAke3Jvb3R9ICR7cm9vdH1faW1wbC5oLnQgJHtBUkdOfQorKyAgKQorKworKyAgI21h a2UgX2ltcGwuY2Mgc291cmNlIGZpbGVzIGRlcGVuZCBvbiBfaW1wbC5oIHRvIGZvcmNlIGdlbmVy YXRpb24KKysgIHNldF9zb3VyY2VfZmlsZXNfcHJvcGVydGllcygke2V4cGFuZGVkX2ZpbGVzX2Nj X2ltcGx9CisrICAgIFBST1BFUlRJRVMgT0JKRUNUX0RFUEVORFMgIiR7ZXhwYW5kZWRfZmlsZXNf aF9pbXBsfSIKKysgICkKKysKKysgICNtYWtlIF9pbXBsLmggc291cmNlIGZpbGVzIGRlcGVuZCBv biBoZWFkZXJzIHRvIGZvcmNlIGdlbmVyYXRpb24KKysgIHNldF9zb3VyY2VfZmlsZXNfcHJvcGVy dGllcygke2V4cGFuZGVkX2ZpbGVzX2hfaW1wbH0KKysgICAgUFJPUEVSVElFUyBPQkpFQ1RfREVQ RU5EUyAiJHtleHBhbmRlZF9maWxlc19ofSIKKysgICkKKysKKysgICNpbnN0YWxsIHJ1bGVzIGZv ciB0aGUgZ2VuZXJhdGVkIGZpbGVzCisrICBsaXN0KEFQUEVORCBnZW5lcmF0ZWRfc291cmNlcyAk e2V4cGFuZGVkX2ZpbGVzX2NjX2ltcGx9KQorKyAgbGlzdChBUFBFTkQgZ2VuZXJhdGVkX2hlYWRl cnMgJHtleHBhbmRlZF9maWxlc19oX2ltcGx9KQorKworK2VuZG1hY3JvKEdSX0VYUEFORF9YX0ND X0hfSU1QTCkKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0dyUGxhdGZvcm0uY21ha2UgYi9j bWFrZS9Nb2R1bGVzL0dyUGxhdGZvcm0uY21ha2UKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi5mYmJlYTVmCistLS0gL2Rldi9udWxsCisrKysgY21ha2UvTW9kdWxlcy9HclBs YXRmb3JtLmNtYWtlCitAQCAtMCwwICsxLDU0IEBACisrIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysjCisrIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUg UmFkaW8KKysjCisrIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikKKysj IGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIEdOVSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKKysjIGFsb25nIHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5v dCwgd3JpdGUgdG8KKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy YW5rbGluIFN0cmVldCwKKysjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKworK2lmKERF RklORUQgX19JTkNMVURFRF9HUl9QTEFURk9STV9DTUFLRSkKKysgICAgcmV0dXJuKCkKKytlbmRp ZigpCisrc2V0KF9fSU5DTFVERURfR1JfUExBVEZPUk1fQ01BS0UgVFJVRSkKKysKKysjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKysjIFNldHVwIGFkZGl0aW9uYWwgZGVmaW5lcyBmb3IgT1MgdHlwZXMKKysjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKytpZihDTUFLRV9TWVNURU1fTkFNRSBTVFJFUVVBTCAiTGludXgiKQorKyAg ICBzZXQoTElOVVggVFJVRSkKKytlbmRpZigpCisrCisraWYoTk9UIENNQUtFX0NST1NTQ09NUElM SU5HIEFORCBMSU5VWCBBTkQgRVhJU1RTICIvZXRjL2RlYmlhbl92ZXJzaW9uIikKKysgICAgc2V0 KERFQklBTiBUUlVFKQorK2VuZGlmKCkKKysKKytpZihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcg QU5EIExJTlVYIEFORCBFWElTVFMgIi9ldGMvcmVkaGF0LXJlbGVhc2UiKQorKyAgICBzZXQoUkVE SEFUIFRSVUUpCisrZW5kaWYoKQorKworK2lmKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORyBBTkQg TElOVVggQU5EIEVYSVNUUyAiL2V0Yy9zbGFja3dhcmUtdmVyc2lvbiIpCisrICAgIHNldChTTEFD S1dBUkUgVFJVRSkKKytlbmRpZigpCisrCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyB3aGVuIHRoZSBs aWJyYXJ5IHN1ZmZpeCBzaG91bGQgYmUgNjQgKGFwcGxpZXMgdG8gcmVkaGF0IGxpbnV4IGZhbWls eSkKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKytpZiAoUkVESEFUIE9SIFNMQUNLV0FSRSkKKysgICAgc2V0 KExJQjY0X0NPTlZFTlRJT04gVFJVRSkKKytlbmRpZigpCisrCisraWYoTk9UIERFRklORUQgTElC X1NVRkZJWCBBTkQgTElCNjRfQ09OVkVOVElPTiBBTkQgQ01BS0VfU1lTVEVNX1BST0NFU1NPUiBN QVRDSEVTICI2NCQiKQorKyAgICBzZXQoTElCX1NVRkZJWCA2NCkKKytlbmRpZigpCisrc2V0KExJ Ql9TVUZGSVggJHtMSUJfU1VGRklYfSBDQUNIRSBTVFJJTkcgImxpYiBkaXJlY3Rvcnkgc3VmZml4 IikKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0dyUHl0aG9uLmNtYWtlIGIvY21ha2UvTW9k dWxlcy9HclB5dGhvbi5jbWFrZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LjM5NWZhZmYKKy0tLSAvZGV2L251bGwKKysrKyBjbWFrZS9Nb2R1bGVzL0dyUHl0aG9uLmNtYWtl CitAQCAtMCwwICsxLDI0MiBAQAorKyMgQ29weXJpZ2h0IDIwMTAtMjAxMSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKysjCisrIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgUmFkaW8K KysjCisrIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikKKysjIGFueSBs YXRlciB2ZXJzaW9uLgorKyMKKysjIEdOVSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysj IGFsb25nIHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3Jp dGUgdG8KKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu IFN0cmVldCwKKysjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKworK2lmKERFRklORUQg X19JTkNMVURFRF9HUl9QWVRIT05fQ01BS0UpCisrICAgIHJldHVybigpCisrZW5kaWYoKQorK3Nl dChfX0lOQ0xVREVEX0dSX1BZVEhPTl9DTUFLRSBUUlVFKQorKworKyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor KyMgU2V0dXAgdGhlIHB5dGhvbiBpbnRlcnByZXRlcjoKKysjIFRoaXMgYWxsb3dzIHRoZSB1c2Vy IHRvIHNwZWNpZnkgYSBzcGVjaWZpYyBpbnRlcnByZXRlciwKKysjIG9yIGZpbmRzIHRoZSBpbnRl cnByZXRlciB2aWEgdGhlIGJ1aWx0LWluIGNtYWtlIG1vZHVsZS4KKysjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KysjdGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8gb3ZlcnJpZGUgUFlUSE9OX0VYRUNVVEFCTEUKKytp ZihQWVRIT05fRVhFQ1VUQUJMRSkKKysKKysgICAgc2V0KFBZVEhPTklOVEVSUF9GT1VORCBUUlVF KQorKworKyNvdGhlcndpc2UgaWYgbm90IHNldCwgdHJ5IHRvIGF1dG9tYXRpY2FsbHkgZmluZCBp dAorK2Vsc2UoUFlUSE9OX0VYRUNVVEFCTEUpCisrCisrICAgICN1c2UgdGhlIGJ1aWx0LWluIGZp bmQgc2NyaXB0CisrICAgIGZpbmRfcGFja2FnZShQeXRob25JbnRlcnAgMikKKysKKysgICAgI2Fu ZCBpZiB0aGF0IGZhaWxzIHVzZSB0aGUgZmluZCBwcm9ncmFtIHJvdXRpbmUKKysgICAgaWYoTk9U IFBZVEhPTklOVEVSUF9GT1VORCkKKysgICAgICAgIGZpbmRfcHJvZ3JhbShQWVRIT05fRVhFQ1VU QUJMRSBOQU1FUyBweXRob24gcHl0aG9uMiBweXRob24yLjcgcHl0aG9uMi42IHB5dGhvbjIuNSkK KysgICAgICAgIGlmKFBZVEhPTl9FWEVDVVRBQkxFKQorKyAgICAgICAgICAgIHNldChQWVRIT05J TlRFUlBfRk9VTkQgVFJVRSkKKysgICAgICAgIGVuZGlmKFBZVEhPTl9FWEVDVVRBQkxFKQorKyAg ICBlbmRpZihOT1QgUFlUSE9OSU5URVJQX0ZPVU5EKQorKworK2VuZGlmKFBZVEhPTl9FWEVDVVRB QkxFKQorKworK2lmIChDTUFLRV9DUk9TU0NPTVBJTElORykKKysgICAgc2V0KFFBX1BZVEhPTl9F WEVDVVRBQkxFICIvdXNyL2Jpbi9weXRob24iKQorK2Vsc2UgKENNQUtFX0NST1NTQ09NUElMSU5H KQorKyAgICBzZXQoUUFfUFlUSE9OX0VYRUNVVEFCTEUgJHtQWVRIT05fRVhFQ1VUQUJMRX0pCisr ZW5kaWYoQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisrCisrI21ha2UgdGhlIHBhdGggdG8gdGhlIGV4 ZWN1dGFibGUgYXBwZWFyIGluIHRoZSBjbWFrZSBndWkKKytzZXQoUFlUSE9OX0VYRUNVVEFCTEUg JHtQWVRIT05fRVhFQ1VUQUJMRX0gQ0FDSEUgRklMRVBBVEggInB5dGhvbiBpbnRlcnByZXRlciIp Cisrc2V0KFFBX1BZVEhPTl9FWEVDVVRBQkxFICR7UUFfUFlUSE9OX0VYRUNVVEFCTEV9IENBQ0hF IEZJTEVQQVRIICJweXRob24gaW50ZXJwcmV0ZXIgZm9yIFFBIHRlc3RzIikKKysKKysjbWFrZSBz dXJlIHdlIGNhbiB1c2UgLUIgd2l0aCBweXRob24gKGludHJvZHVjZWQgaW4gMi42KQorK2lmKFBZ VEhPTl9FWEVDVVRBQkxFKQorKyAgICBleGVjdXRlX3Byb2Nlc3MoCisrICAgICAgICBDT01NQU5E ICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1CIC1jICIiCisrICAgICAgICBPVVRQVVRfUVVJRVQgRVJS T1JfUVVJRVQKKysgICAgICAgIFJFU1VMVF9WQVJJQUJMRSBQWVRIT05fSEFTX0RBU0hfQl9SRVNV TFQKKysgICAgKQorKyAgICBpZihQWVRIT05fSEFTX0RBU0hfQl9SRVNVTFQgRVFVQUwgMCkKKysg ICAgICAgIHNldChQWVRIT05fREFTSF9CICItQiIpCisrICAgIGVuZGlmKCkKKytlbmRpZihQWVRI T05fRVhFQ1VUQUJMRSkKKysKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysjIENoZWNrIGZvciB0aGUgZXhp c3RlbmNlIG9mIGEgcHl0aG9uIG1vZHVsZToKKysjIC0gZGVzYyBhIHN0cmluZyBkZXNjcmlwdGlv biBvZiB0aGUgY2hlY2sKKysjIC0gbW9kIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gaW1wb3J0 CisrIyAtIGNtZCBhbiBhZGRpdGlvbmFsIGNvbW1hbmQgdG8gcnVuCisrIyAtIGhhdmUgdGhlIHJl c3VsdCB2YXJpYWJsZSB0byBzZXQKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyttYWNybyhHUl9QWVRIT05f Q0hFQ0tfTU9EVUxFIGRlc2MgbW9kIGNtZCBoYXZlKQorKyAgICBtZXNzYWdlKFNUQVRVUyAiIikK KysgICAgbWVzc2FnZShTVEFUVVMgIlB5dGhvbiBjaGVja2luZyBmb3IgJHtkZXNjfSIpCisrICAg IGV4ZWN1dGVfcHJvY2VzcygKKysgICAgICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0g LWMgIgorKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrdHJ5Ogor KyAgICBpbXBvcnQgJHttb2R9CisrICAgIGFzc2VydCAke2NtZH0KKytleGNlcHQgSW1wb3J0RXJy b3IsIEFzc2VydGlvbkVycm9yOiBleGl0KC0xKQorK2V4Y2VwdDogcGFzcworKyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIgorKyAgICAgICAgUkVTVUxUX1ZBUklBQkxF ICR7aGF2ZX0KKysgICAgKQorKyAgICBpZigke2hhdmV9IEVRVUFMIDApCisrICAgICAgICBtZXNz YWdlKFNUQVRVUyAiUHl0aG9uIGNoZWNraW5nIGZvciAke2Rlc2N9IC0gZm91bmQiKQorKyAgICAg ICAgc2V0KCR7aGF2ZX0gVFJVRSkKKysgICAgZWxzZSgke2hhdmV9IEVRVUFMIDApCisrICAgICAg ICBtZXNzYWdlKFNUQVRVUyAiUHl0aG9uIGNoZWNraW5nIGZvciAke2Rlc2N9IC0gbm90IGZvdW5k IikKKysgICAgICAgIHNldCgke2hhdmV9IEZBTFNFKQorKyAgICBlbmRpZigke2hhdmV9IEVRVUFM IDApCisrZW5kbWFjcm8oR1JfUFlUSE9OX0NIRUNLX01PRFVMRSkKKysKKysjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKysjIFNldHMgdGhlIHB5dGhvbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IEdSX1BZVEhPTl9E SVIKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKytpZihOT1QgREVGSU5FRCBHUl9QWVRIT05fRElSKQorK2V4 ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICIKKytmcm9tIGRp c3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCisrcHJpbnQgc3lzY29uZmlnLmdldF9weXRob25fbGli KHBsYXRfc3BlY2lmaWM9VHJ1ZSwgcHJlZml4PScnKQorKyIgT1VUUFVUX1ZBUklBQkxFIEdSX1BZ VEhPTl9ESVIgT1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UKKyspCisrZW5kaWYoKQor K2ZpbGUoVE9fQ01BS0VfUEFUSCAke0dSX1BZVEhPTl9ESVJ9IEdSX1BZVEhPTl9ESVIpCisrCisr IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisrIyBDcmVhdGUgYW4gYWx3YXlzLWJ1aWx0IHRhcmdldCB3aXRoIGEg dW5pcXVlIG5hbWUKKysjIFVzYWdlOiBHUl9VTklRVUVfVEFSR0VUKDxkZXNjcmlwdGlvbj4gPGRl cGVuZGVuY2llcyBsaXN0PikKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKytmdW5jdGlvbihHUl9VTklRVUVf VEFSR0VUIGRlc2MpCisrICAgIGZpbGUoUkVMQVRJVkVfUEFUSCByZWxkaXIgJHtDTUFLRV9CSU5B UllfRElSfSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0pCisrICAgIGV4ZWN1dGVfcHJvY2Vz cyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJpbXBvcnQgcmUsIGhhc2hsaWIKKyt1 bmlxdWUgPSBoYXNobGliLm1kNSgnJHtyZWxkaXJ9JHtBUkdOfScpLmhleGRpZ2VzdCgpWzo1XQor K3ByaW50KHJlLnN1YignXFxXJywgJ18nLCAnJHtkZXNjfSAke3JlbGRpcn0gJyArIHVuaXF1ZSkp IgorKyAgICBPVVRQVVRfVkFSSUFCTEUgX3RhcmdldCBPVVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJ VEVTUEFDRSkKKysgICAgYWRkX2N1c3RvbV90YXJnZXQoJHtfdGFyZ2V0fSBBTEwgREVQRU5EUyAk e0FSR059KQorK2VuZGZ1bmN0aW9uKEdSX1VOSVFVRV9UQVJHRVQpCisrCisrIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCisrIyBJbnN0YWxsIHB5dGhvbiBzb3VyY2VzIChhbHNvIGJ1aWxkcyBhbmQgaW5zdGFsbHMg Ynl0ZS1jb21waWxlZCBweXRob24pCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrZnVuY3Rpb24oR1JfUFlU SE9OX0lOU1RBTEwpCisrICAgIGluY2x1ZGUoQ01ha2VQYXJzZUFyZ3VtZW50c0NvcHkpCisrICAg IENNQUtFX1BBUlNFX0FSR1VNRU5UUyhHUl9QWVRIT05fSU5TVEFMTCAiIiAiREVTVElOQVRJT047 Q09NUE9ORU5UIiAiRklMRVM7UFJPR1JBTVMiICR7QVJHTn0pCisrCisrICAgICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisrICAgIGlmKEdSX1BZVEhPTl9JTlNUQUxMX0ZJTEVTKQorKyAgICAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyAg ICAgICAgaW5zdGFsbCgke0FSR059KSAjaW5zdGFsbHMgcmVndWxhciBweXRob24gZmlsZXMKKysK KysgICAgICAgICNjcmVhdGUgYSBsaXN0IG9mIGFsbCBnZW5lcmF0ZWQgZmlsZXMKKysgICAgICAg IHVuc2V0KHB5c3JjZmlsZXMpCisrICAgICAgICB1bnNldChweWNmaWxlcykKKysgICAgICAgIHVu c2V0KHB5b2ZpbGVzKQorKyAgICAgICAgZm9yZWFjaChweWZpbGUgJHtHUl9QWVRIT05fSU5TVEFM TF9GSUxFU30pCisrICAgICAgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChweWZpbGUgJHtw eWZpbGV9IEFCU09MVVRFKQorKyAgICAgICAgICAgIGxpc3QoQVBQRU5EIHB5c3JjZmlsZXMgJHtw eWZpbGV9KQorKworKyAgICAgICAgICAgICNkZXRlcm1pbmUgaWYgdGhpcyBmaWxlIGlzIGluIHRo ZSBzb3VyY2Ugb3IgYmluYXJ5IGRpcmVjdG9yeQorKyAgICAgICAgICAgIGZpbGUoUkVMQVRJVkVf UEFUSCBzb3VyY2VfcmVsX3BhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9ICR7cHlmaWxl fSkKKysgICAgICAgICAgICBzdHJpbmcoTEVOR1RIICIke3NvdXJjZV9yZWxfcGF0aH0iIHNvdXJj ZV9yZWxfcGF0aF9sZW4pCisrICAgICAgICAgICAgZmlsZShSRUxBVElWRV9QQVRIIGJpbmFyeV9y ZWxfcGF0aCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0gJHtweWZpbGV9KQorKyAgICAgICAg ICAgIHN0cmluZyhMRU5HVEggIiR7YmluYXJ5X3JlbF9wYXRofSIgYmluYXJ5X3JlbF9wYXRoX2xl bikKKysKKysgICAgICAgICAgICAjYW5kIHNldCB0aGUgZ2VuZXJhdGVkIHBhdGggYXBwcm9wcmlh dGVseQorKyAgICAgICAgICAgIGlmKCR7c291cmNlX3JlbF9wYXRoX2xlbn0gR1JFQVRFUiAke2Jp bmFyeV9yZWxfcGF0aF9sZW59KQorKyAgICAgICAgICAgICAgICBzZXQocHlnZW5maWxlICR7Q01B S0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke2JpbmFyeV9yZWxfcGF0aH0pCisrICAgICAgICAgICAg ZWxzZSgpCisrICAgICAgICAgICAgICAgIHNldChweWdlbmZpbGUgJHtDTUFLRV9DVVJSRU5UX0JJ TkFSWV9ESVJ9LyR7c291cmNlX3JlbF9wYXRofSkKKysgICAgICAgICAgICBlbmRpZigpCisrICAg ICAgICAgICAgbGlzdChBUFBFTkQgcHljZmlsZXMgJHtweWdlbmZpbGV9YykKKysgICAgICAgICAg ICBsaXN0KEFQUEVORCBweW9maWxlcyAke3B5Z2VuZmlsZX1vKQorKworKyAgICAgICAgICAgICNl bnN1cmUgZ2VuZXJhdGlvbiBwYXRoIGV4aXN0cworKyAgICAgICAgICAgIGdldF9maWxlbmFtZV9j b21wb25lbnQocHlnZW5fcGF0aCAke3B5Z2VuZmlsZX0gUEFUSCkKKysgICAgICAgICAgICBmaWxl KE1BS0VfRElSRUNUT1JZICR7cHlnZW5fcGF0aH0pCisrCisrICAgICAgICBlbmRmb3JlYWNoKHB5 ZmlsZSkKKysKKysgICAgICAgICN0aGUgY29tbWFuZCB0byBnZW5lcmF0ZSB0aGUgcHljIGZpbGVz CisrICAgICAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCisrICAgICAgICAgICAgREVQRU5EUyAke3B5 c3JjZmlsZXN9IE9VVFBVVCAke3B5Y2ZpbGVzfQorKyAgICAgICAgICAgIENPTU1BTkQgJHtQWVRI T05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9CSU5BUllfRElSfS9weXRob25fY29tcGlsZV9oZWxwZXIu cHkgJHtweXNyY2ZpbGVzfSAke3B5Y2ZpbGVzfQorKyAgICAgICAgKQorKworKyAgICAgICAgI3Ro ZSBjb21tYW5kIHRvIGdlbmVyYXRlIHRoZSBweW8gZmlsZXMKKysgICAgICAgIGFkZF9jdXN0b21f Y29tbWFuZCgKKysgICAgICAgICAgICBERVBFTkRTICR7cHlzcmNmaWxlc30gT1VUUFVUICR7cHlv ZmlsZXN9CisrICAgICAgICAgICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtTyAke0NN QUtFX0JJTkFSWV9ESVJ9L3B5dGhvbl9jb21waWxlX2hlbHBlci5weSAke3B5c3JjZmlsZXN9ICR7 cHlvZmlsZXN9CisrICAgICAgICApCisrCisrICAgICAgICAjY3JlYXRlIGluc3RhbGwgcnVsZSBh bmQgYWRkIGdlbmVyYXRlZCBmaWxlcyB0byB0YXJnZXQgbGlzdAorKyAgICAgICAgc2V0KHB5dGhv bl9pbnN0YWxsX2dlbl90YXJnZXRzICR7cHljZmlsZXN9ICR7cHlvZmlsZXN9KQorKyAgICAgICAg aW5zdGFsbChGSUxFUyAke3B5dGhvbl9pbnN0YWxsX2dlbl90YXJnZXRzfQorKyAgICAgICAgICAg IERFU1RJTkFUSU9OICR7R1JfUFlUSE9OX0lOU1RBTExfREVTVElOQVRJT059CisrICAgICAgICAg ICAgQ09NUE9ORU5UICR7R1JfUFlUSE9OX0lOU1RBTExfQ09NUE9ORU5UfQorKyAgICAgICAgKQor KworKworKyAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyAgICBlbHNlaWYoR1JfUFlUSE9OX0lOU1RBTExfUFJP R1JBTVMpCisrICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrICAgICAgICBmaWxlKFRPX05BVElWRV9QQVRIICR7 UFlUSE9OX0VYRUNVVEFCTEV9IHB5ZXhlX25hdGl2ZSkKKysKKysgICAgICAgIGlmIChDTUFLRV9D Uk9TU0NPTVBJTElORykKKysgICAgICAgICAgIHNldChweWV4ZV9uYXRpdmUgIi91c3IvYmluL2Vu diBweXRob24iKQorKyAgICAgICAgZW5kaWYoKQorKworKyAgICAgICAgZm9yZWFjaChweWZpbGUg JHtHUl9QWVRIT05fSU5TVEFMTF9QUk9HUkFNU30pCisrICAgICAgICAgICAgZ2V0X2ZpbGVuYW1l X2NvbXBvbmVudChweWZpbGVfbmFtZSAke3B5ZmlsZX0gTkFNRSkKKysgICAgICAgICAgICBnZXRf ZmlsZW5hbWVfY29tcG9uZW50KHB5ZmlsZSAke3B5ZmlsZX0gQUJTT0xVVEUpCisrICAgICAgICAg ICAgc3RyaW5nKFJFUExBQ0UgIiR7Q01BS0VfU09VUkNFX0RJUn0iICIke0NNQUtFX0JJTkFSWV9E SVJ9IiBweWV4ZWZpbGUgIiR7cHlmaWxlfS5leGUiKQorKyAgICAgICAgICAgIGxpc3QoQVBQRU5E IHB5dGhvbl9pbnN0YWxsX2dlbl90YXJnZXRzICR7cHlleGVmaWxlfSkKKysKKysgICAgICAgICAg ICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KHB5ZXhlZmlsZV9wYXRoICR7cHlleGVmaWxlfSBQQVRI KQorKyAgICAgICAgICAgIGZpbGUoTUFLRV9ESVJFQ1RPUlkgJHtweWV4ZWZpbGVfcGF0aH0pCisr CisrICAgICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAorKyAgICAgICAgICAgICAgICBPVVRQ VVQgJHtweWV4ZWZpbGV9IERFUEVORFMgJHtweWZpbGV9CisrICAgICAgICAgICAgICAgIENPTU1B TkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMKKysgICAgICAgICAgICAgICAgIm9wZW4oJyR7cHll eGVmaWxlfScsJ3cnKS53cml0ZSgnXCMhJHtweWV4ZV9uYXRpdmV9XFxuJytvcGVuKCcke3B5Zmls ZX0nKS5yZWFkKCkpIgorKyAgICAgICAgICAgICAgICBDT01NRU5UICJTaGViYW5naW4gJHtweWZp bGVfbmFtZX0iCisrICAgICAgICAgICAgICAgIFZFUkJBVElNCisrICAgICAgICAgICAgKQorKwor KyAgICAgICAgICAgICNvbiB3aW5kb3dzLCBweXRob24gZmlsZXMgbmVlZCBhbiBleHRlbnNpb24g dG8gZXhlY3V0ZQorKyAgICAgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQocHlmaWxlX2V4 dCAke3B5ZmlsZX0gRVhUKQorKyAgICAgICAgICAgIGlmKFdJTjMyIEFORCBOT1QgcHlmaWxlX2V4 dCkKKysgICAgICAgICAgICAgICAgc2V0KHB5ZmlsZV9uYW1lICIke3B5ZmlsZV9uYW1lfS5weSIp CisrICAgICAgICAgICAgZW5kaWYoKQorKworKyAgICAgICAgICAgIGluc3RhbGwoUFJPR1JBTVMg JHtweWV4ZWZpbGV9IFJFTkFNRSAke3B5ZmlsZV9uYW1lfQorKyAgICAgICAgICAgICAgICBERVNU SU5BVElPTiAke0dSX1BZVEhPTl9JTlNUQUxMX0RFU1RJTkFUSU9OfQorKyAgICAgICAgICAgICAg ICBDT01QT05FTlQgJHtHUl9QWVRIT05fSU5TVEFMTF9DT01QT05FTlR9CisrICAgICAgICAgICAg KQorKyAgICAgICAgZW5kZm9yZWFjaChweWZpbGUpCisrCisrICAgIGVuZGlmKCkKKysKKysgICAg R1JfVU5JUVVFX1RBUkdFVCgicHlnZW4iICR7cHl0aG9uX2luc3RhbGxfZ2VuX3RhcmdldHN9KQor KworK2VuZGZ1bmN0aW9uKEdSX1BZVEhPTl9JTlNUQUxMKQorKworKyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor KyMgV3JpdGUgdGhlIHB5dGhvbiBoZWxwZXIgc2NyaXB0IHRoYXQgZ2VuZXJhdGVzIGJ5dGUgY29k ZSBmaWxlcworKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworK2ZpbGUoV1JJVEUgJHtDTUFLRV9CSU5BUllfRElS fS9weXRob25fY29tcGlsZV9oZWxwZXIucHkgIgorK2ltcG9ydCBzeXMsIHB5X2NvbXBpbGUKKytm aWxlcyA9IHN5cy5hcmd2WzE6XQorK3NyY3MsIGdlbnMgPSBmaWxlc1s6bGVuKGZpbGVzKS8yXSwg ZmlsZXNbbGVuKGZpbGVzKS8yOl0KKytmb3Igc3JjLCBnZW4gaW4gemlwKHNyY3MsIGdlbnMpOgor KyAgICBweV9jb21waWxlLmNvbXBpbGUoZmlsZT1zcmMsIGNmaWxlPWdlbiwgZG9yYWlzZT1UcnVl KQorKyIpCitkaWZmIC0tZ2l0IGEvY21ha2UvTW9kdWxlcy9HclRlc3QuY21ha2UgYi9jbWFrZS9N b2R1bGVzL0dyVGVzdC5jbWFrZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LjYyY2FhYjQKKy0tLSAvZGV2L251bGwKKysrKyBjbWFrZS9Nb2R1bGVzL0dyVGVzdC5jbWFrZQor QEAgLTAsMCArMSwxNDMgQEAKKysjIENvcHlyaWdodCAyMDEwLTIwMTEgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCisrIworKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisr IworKyMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCisrIyBhbnkgbGF0 ZXIgdmVyc2lvbi4KKysjCisrIyBHTlUgUmFkaW8gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBh bG9uZyB3aXRoIEdOVSBSYWRpbzsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRl IHRvCisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT dHJlZXQsCisrIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKysKKytpZihERUZJTkVEIF9f SU5DTFVERURfR1JfVEVTVF9DTUFLRSkKKysgICAgcmV0dXJuKCkKKytlbmRpZigpCisrc2V0KF9f SU5DTFVERURfR1JfVEVTVF9DTUFLRSBUUlVFKQorKworKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyMgQWRk IGEgdW5pdCB0ZXN0IGFuZCBzZXR1cCB0aGUgZW52aXJvbm1lbnQgZm9yIGEgdW5pdCB0ZXN0Lgor KyMgVGFrZXMgdGhlIHNhbWUgYXJndW1lbnRzIGFzIHRoZSBBRERfVEVTVCBmdW5jdGlvbi4KKysj CisrIyBCZWZvcmUgY2FsbGluZyBzZXQgdGhlIGZvbGxvd2luZyB2YXJpYWJsZXM6CisrIyBHUl9U RVNUX1RBUkdFVF9ERVBTICAtIGJ1aWx0IHRhcmdldHMgZm9yIHRoZSBsaWJyYXJ5IHBhdGgKKysj IEdSX1RFU1RfTElCUkFSWV9ESVJTIC0gZGlyZWN0b3JpZXMgZm9yIHRoZSBsaWJyYXJ5IHBhdGgK KysjIEdSX1RFU1RfUFlUSE9OX0RJUlMgIC0gZGlyZWN0b3JpZXMgZm9yIHRoZSBweXRob24gcGF0 aAorKyMgR1JfVEVTVF9FTlZJUk9OUyAgLSBvdGhlciBlbnZpcm9ubWVudCBrZXkvdmFsdWUgcGFp cnMKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKytmdW5jdGlvbihHUl9BRERfVEVTVCB0ZXN0X25hbWUpCisr CisrICAgICAgICAjRW5zdXJlIHRoYXQgdGhlIGJ1aWxkIGV4ZSBhbHNvIGFwcGVhcnMgaW4gdGhl IFBBVEguCisrICAgICAgICBsaXN0KEFQUEVORCBHUl9URVNUX1RBUkdFVF9ERVBTICR7QVJHTn0p CisrCisrICAgICAgICAjSW4gdGhlIGxhbmQgb2Ygd2luZG93cywgYWxsIGxpYnJhcmllcyBtdXN0 IGJlIGluIHRoZSBQQVRILgorKyAgICAgICAgI1NpbmNlIHRoZSBkZXBlbmRlbnQgbGlicmFyaWVz IGFyZSBub3QgeWV0IGluc3RhbGxlZCwKKysgICAgICAgICN3ZSBtdXN0IG1hbnVhbGx5IHNldCB0 aGVtIGluIHRoZSBQQVRIIHRvIHJ1biB0ZXN0cy4KKysgICAgICAgICNUaGUgZm9sbG93aW5nIGFw cGVuZHMgdGhlIHBhdGggb2YgYSB0YXJnZXQgZGVwZW5kZW5jeS4KKysgICAgICAgIGZvcmVhY2go dGFyZ2V0ICR7R1JfVEVTVF9UQVJHRVRfREVQU30pCisrICAgICAgICAgICAgZ2V0X3RhcmdldF9w cm9wZXJ0eShsb2NhdGlvbiAke3RhcmdldH0gTE9DQVRJT04pCisrICAgICAgICAgICAgaWYobG9j YXRpb24pCisrICAgICAgICAgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQocGF0aCAke2xv Y2F0aW9ufSBQQVRIKQorKyAgICAgICAgICAgICAgICBzdHJpbmcoUkVHRVggUkVQTEFDRSAiXFwk XFwoLipcXCkiICR7Q01BS0VfQlVJTERfVFlQRX0gcGF0aCAke3BhdGh9KQorKyAgICAgICAgICAg ICAgICBsaXN0KEFQUEVORCBHUl9URVNUX0xJQlJBUllfRElSUyAke3BhdGh9KQorKyAgICAgICAg ICAgIGVuZGlmKGxvY2F0aW9uKQorKyAgICAgICAgZW5kZm9yZWFjaCh0YXJnZXQpCisrCisrICAg IGlmKFdJTjMyKQorKyAgICAgICAgI1NXSUcgZ2VuZXJhdGVzIHRoZSBweXRob24gbGlicmFyeSBm aWxlcyBpbnRvIGEgc3ViZGlyZWN0b3J5LgorKyAgICAgICAgI1RoZXJlZm9yZSwgd2UgbXVzdCBh cHBlbmQgdGhpcyBzdWJkaXJlY3RvcnkgaW50byBQWVRIT05QQVRILgorKyAgICAgICAgI09ubHkg ZG8gdGhpcyBmb3IgdGhlIHB5dGhvbiBkaXJlY3RvcmllcyBtYXRjaGluZyB0aGUgZm9sbG93aW5n OgorKyAgICAgICAgZm9yZWFjaChweWRpciAke0dSX1RFU1RfUFlUSE9OX0RJUlN9KQorKyAgICAg ICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQobmFtZSAke3B5ZGlyfSBOQU1FKQorKyAgICAg ICAgICAgIGlmKG5hbWUgTUFUQ0hFUyAiXihzd2lnfGxpYnxzcmMpJCIpCisrICAgICAgICAgICAg ICAgIGxpc3QoQVBQRU5EIEdSX1RFU1RfUFlUSE9OX0RJUlMgJHtweWRpcn0vJHtDTUFLRV9CVUlM RF9UWVBFfSkKKysgICAgICAgICAgICBlbmRpZigpCisrICAgICAgICBlbmRmb3JlYWNoKHB5ZGly KQorKyAgICBlbmRpZihXSU4zMikKKysKKysgICAgZmlsZShUT19OQVRJVkVfUEFUSCAke0NNQUtF X0NVUlJFTlRfU09VUkNFX0RJUn0gc3JjZGlyKQorKyAgICBmaWxlKFRPX05BVElWRV9QQVRIICIk e0dSX1RFU1RfTElCUkFSWV9ESVJTfSIgbGlicGF0aCkgI29rIHRvIHVzZSBvbiBkaXIgbGlzdD8K KysgICAgZmlsZShUT19OQVRJVkVfUEFUSCAiJHtHUl9URVNUX1BZVEhPTl9ESVJTfSIgcHlwYXRo KSAjb2sgdG8gdXNlIG9uIGRpciBsaXN0PworKworKyAgICBzZXQoZW52aXJvbnMgIlZPTEtfR0VO RVJJQz0xIiAiR1JfRE9OVF9MT0FEX1BSRUZTPTEiICJzcmNkaXI9JHtzcmNkaXJ9IikKKysgICAg bGlzdChBUFBFTkQgZW52aXJvbnMgJHtHUl9URVNUX0VOVklST05TfSkKKysKKysgICAgI2h0dHA6 Ly93d3cuY21ha2Uub3JnL3BpcGVybWFpbC9jbWFrZS8yMDA5LU1heS8wMjk0NjQuaHRtbAorKyAg ICAjUmVwbGFjZWQgdGhpcyBhZGQgdGVzdCArIHNldCBlbnZpcm9ucyBjb2RlIHdpdGggdGhlIHNo ZWxsIHNjcmlwdCBnZW5lcmF0aW9uLgorKyAgICAjSXRzIG5pY2VyIHRvIGJlIGFibGUgdG8gbWFu dWFsbHkgcnVuIHRoZSBzaGVsbCBzY3JpcHQgdG8gZGlhZ25vc2UgcHJvYmxlbXMuCisrICAgICNB RERfVEVTVCgke0FSR1Z9KQorKyAgICAjU0VUX1RFU1RTX1BST1BFUlRJRVMoJHt0ZXN0X25hbWV9 IFBST1BFUlRJRVMgRU5WSVJPTk1FTlQgIiR7ZW52aXJvbnN9IikKKysKKysgICAgaWYoVU5JWCkK KysgICAgICAgIHNldChMRF9QQVRIX1ZBUiAiTERfTElCUkFSWV9QQVRIIikKKysgICAgICAgIGlm KEFQUExFKQorKyAgICAgICAgICAgIHNldChMRF9QQVRIX1ZBUiAiRFlMRF9MSUJSQVJZX1BBVEgi KQorKyAgICAgICAgZW5kaWYoKQorKworKyAgICAgICAgc2V0KGJpbnBhdGggIiR7Q01BS0VfQ1VS UkVOVF9CSU5BUllfRElSfTokUEFUSCIpCisrICAgICAgICBsaXN0KEFQUEVORCBsaWJwYXRoICIk JHtMRF9QQVRIX1ZBUn0iKQorKyAgICAgICAgbGlzdChBUFBFTkQgcHlwYXRoICIkUFlUSE9OUEFU SCIpCisrCisrICAgICAgICAjcmVwbGFjZSBsaXN0IHNlcGFyYXRvciB3aXRoIHRoZSBwYXRoIHNl cGFyYXRvcgorKyAgICAgICAgc3RyaW5nKFJFUExBQ0UgIjsiICI6IiBsaWJwYXRoICIke2xpYnBh dGh9IikKKysgICAgICAgIHN0cmluZyhSRVBMQUNFICI7IiAiOiIgcHlwYXRoICIke3B5cGF0aH0i KQorKyAgICAgICAgbGlzdChBUFBFTkQgZW52aXJvbnMgIlBBVEg9JHtiaW5wYXRofSIgIiR7TERf UEFUSF9WQVJ9PSR7bGlicGF0aH0iICJQWVRIT05QQVRIPSR7cHlwYXRofSIpCisrCisrICAgICAg ICAjZ2VuZXJhdGUgYSBiYXQgZmlsZSB0aGF0IHNldHMgdGhlIGVudmlyb25tZW50IGFuZCBydW5z IHRoZSB0ZXN0CisrCWlmIChDTUFLRV9DUk9TU0NPTVBJTElORykKKysgICAgICAgICAgICAgICAg c2V0KFNIRUxMICIvYmluL3NoIikKKysgICAgICAgIGVsc2UoQ01BS0VfQ1JPU1NDT01QSUxJTkcp CisrICAgICAgICAgICAgICAgIGZpbmRfcHJvZ3JhbShTSEVMTCBzaCkKKysgICAgICAgIGVuZGlm KENNQUtFX0NST1NTQ09NUElMSU5HKQorKyAgICAgICAgc2V0KHNoX2ZpbGUgJHtDTUFLRV9DVVJS RU5UX0JJTkFSWV9ESVJ9LyR7dGVzdF9uYW1lfV90ZXN0LnNoKQorKyAgICAgICAgZmlsZShXUklU RSAke3NoX2ZpbGV9ICIjISR7U0hFTEx9XG4iKQorKyAgICAgICAgI2VhY2ggbGluZSBzZXRzIGFu IGVudmlyb25tZW50IHZhcmlhYmxlCisrICAgICAgICBmb3JlYWNoKGVudmlyb24gJHtlbnZpcm9u c30pCisrICAgICAgICAgICAgZmlsZShBUFBFTkQgJHtzaF9maWxlfSAiZXhwb3J0ICR7ZW52aXJv bn1cbiIpCisrICAgICAgICBlbmRmb3JlYWNoKGVudmlyb24pCisrICAgICAgICAjbG9hZCB0aGUg Y29tbWFuZCB0byBydW4gd2l0aCBpdHMgYXJndW1lbnRzCisrICAgICAgICBmb3JlYWNoKGFyZyAk e0FSR059KQorKyAgICAgICAgICAgIGZpbGUoQVBQRU5EICR7c2hfZmlsZX0gIiR7YXJnfSAiKQor KyAgICAgICAgZW5kZm9yZWFjaChhcmcpCisrICAgICAgICBmaWxlKEFQUEVORCAke3NoX2ZpbGV9 ICJcbiIpCisrCisrICAgICAgICAjbWFrZSB0aGUgc2hlbGwgZmlsZSBleGVjdXRhYmxlCisrICAg ICAgICBleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCBjaG1vZCAreCAke3NoX2ZpbGV9KQorKworKyAg ICAgICAgYWRkX3Rlc3QoJHt0ZXN0X25hbWV9ICR7U0hFTEx9ICR7c2hfZmlsZX0pCisrCisrICAg IGVuZGlmKFVOSVgpCisrCisrICAgIGlmKFdJTjMyKQorKyAgICAgICAgbGlzdChBUFBFTkQgbGli cGF0aCAke0RMTF9QQVRIU30gIiVQQVRIJSIpCisrICAgICAgICBsaXN0KEFQUEVORCBweXBhdGgg IiVQWVRIT05QQVRIJSIpCisrCisrICAgICAgICAjcmVwbGFjZSBsaXN0IHNlcGFyYXRvciB3aXRo IHRoZSBwYXRoIHNlcGFyYXRvciAoZXNjYXBlZCkKKysgICAgICAgIHN0cmluZyhSRVBMQUNFICI7 IiAiXFw7IiBsaWJwYXRoICIke2xpYnBhdGh9IikKKysgICAgICAgIHN0cmluZyhSRVBMQUNFICI7 IiAiXFw7IiBweXBhdGggIiR7cHlwYXRofSIpCisrICAgICAgICBsaXN0KEFQUEVORCBlbnZpcm9u cyAiUEFUSD0ke2xpYnBhdGh9IiAiUFlUSE9OUEFUSD0ke3B5cGF0aH0iKQorKworKyAgICAgICAg I2dlbmVyYXRlIGEgYmF0IGZpbGUgdGhhdCBzZXRzIHRoZSBlbnZpcm9ubWVudCBhbmQgcnVucyB0 aGUgdGVzdAorKyAgICAgICAgc2V0KGJhdF9maWxlICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElS fS8ke3Rlc3RfbmFtZX1fdGVzdC5iYXQpCisrICAgICAgICBmaWxlKFdSSVRFICR7YmF0X2ZpbGV9 ICJAZWNobyBvZmZcbiIpCisrICAgICAgICAjZWFjaCBsaW5lIHNldHMgYW4gZW52aXJvbm1lbnQg dmFyaWFibGUKKysgICAgICAgIGZvcmVhY2goZW52aXJvbiAke2Vudmlyb25zfSkKKysgICAgICAg ICAgICBmaWxlKEFQUEVORCAke2JhdF9maWxlfSAiU0VUICR7ZW52aXJvbn1cbiIpCisrICAgICAg ICBlbmRmb3JlYWNoKGVudmlyb24pCisrICAgICAgICAjbG9hZCB0aGUgY29tbWFuZCB0byBydW4g d2l0aCBpdHMgYXJndW1lbnRzCisrICAgICAgICBmb3JlYWNoKGFyZyAke0FSR059KQorKyAgICAg ICAgICAgIGZpbGUoQVBQRU5EICR7YmF0X2ZpbGV9ICIke2FyZ30gIikKKysgICAgICAgIGVuZGZv cmVhY2goYXJnKQorKyAgICAgICAgZmlsZShBUFBFTkQgJHtiYXRfZmlsZX0gIlxuIikKKysKKysg ICAgICAgIGFkZF90ZXN0KCR7dGVzdF9uYW1lfSAke2JhdF9maWxlfSkKKysgICAgZW5kaWYoV0lO MzIpCisrCisrZW5kZnVuY3Rpb24oR1JfQUREX1RFU1QpCitkaWZmIC0tZ2l0IGEvY21ha2UvTW9k dWxlcy9HclZlcnNpb24uY21ha2UgYi9jbWFrZS9Nb2R1bGVzL0dyVmVyc2lvbi5jbWFrZQorbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmJhZmQwYTcKKy0tLSAvZGV2L251bGwK KysrKyBjbWFrZS9Nb2R1bGVzL0dyVmVyc2lvbi5jbWFrZQorQEAgLTAsMCArMSw4MiBAQAorKyMg Q29weXJpZ2h0IDIwMTEsMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysjCisr IyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgUmFkaW8KKysjCisrIyBHTlUgUmFkaW8gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDMsIG9yIChhdCB5b3VyIG9wdGlvbikKKysjIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIEdO VSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggR05VIFJhZGlvOyBz ZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8KKysjIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwKKysjIEJvc3RvbiwgTUEg MDIxMTAtMTMwMSwgVVNBLgorKworK2lmKERFRklORUQgX19JTkNMVURFRF9HUl9WRVJTSU9OX0NN QUtFKQorKyAgICByZXR1cm4oKQorK2VuZGlmKCkKKytzZXQoX19JTkNMVURFRF9HUl9WRVJTSU9O X0NNQUtFIFRSVUUpCisrCisrI2V2ZW50dWFsbHksIHJlcGxhY2UgdmVyc2lvbi5zaCBhbmQgZmls bCBpbiB0aGUgdmFyaWFibGVzIGJlbG93Cisrc2V0KE1BSk9SX1ZFUlNJT04gJHtWRVJTSU9OX0lO Rk9fTUFKT1JfVkVSU0lPTn0pCisrc2V0KEFQSV9DT01QQVQgICAgJHtWRVJTSU9OX0lORk9fQVBJ X0NPTVBBVH0pCisrc2V0KE1JTk9SX1ZFUlNJT04gJHtWRVJTSU9OX0lORk9fTUlOT1JfVkVSU0lP Tn0pCisrc2V0KE1BSU5UX1ZFUlNJT04gJHtWRVJTSU9OX0lORk9fTUFJTlRfVkVSU0lPTn0pCisr CisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCisrIyBFeHRyYWN0IHRoZSB2ZXJzaW9uIHN0cmluZyBmcm9tIGdp dCBkZXNjcmliZS4KKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKytmaW5kX3BhY2thZ2UoR2l0KQorKworK2lm KEdJVF9GT1VORCBBTkQgRVhJU1RTICR7Q01BS0VfU09VUkNFX0RJUn0vLmdpdCkKKysgICAgbWVz c2FnZShTVEFUVVMgIkV4dHJhY3RpbmcgdmVyc2lvbiBpbmZvcm1hdGlvbiBmcm9tIGdpdCBkZXNj cmliZS4uLiIpCisrICAgIGV4ZWN1dGVfcHJvY2VzcygKKysgICAgICAgIENPTU1BTkQgJHtHSVRf RVhFQ1VUQUJMRX0gZGVzY3JpYmUgLS1hbHdheXMgLS1hYmJyZXY9OCAtLWxvbmcKKysgICAgICAg IE9VVFBVVF9WQVJJQUJMRSBHSVRfREVTQ1JJQkUgT1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRF U1BBQ0UKKysgICAgICAgIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfU09VUkNFX0RJUn0KKysg ICAgKQorK2Vsc2UoKQorKyAgICBzZXQoR0lUX0RFU0NSSUJFICJ2JHtNQUpPUl9WRVJTSU9OfS4k e0FQSV9DT01QQVR9LngteHh4LXh1bmtub3duIikKKytlbmRpZigpCisrCisrIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCisrIyBVc2UgdGhlIGxvZ2ljIGJlbG93IHRvIHNldCB0aGUgdmVyc2lvbiBjb25zdGFudHMK KysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKytpZigiJHtNSU5PUl9WRVJTSU9OfSIgU1RSRVFVQUwgImdpdCIp CisrICAgICMgVkVSU0lPTjogMy4zZ2l0LXh4eC1neHh4eHh4eHgKKysgICAgIyBET0NWRVI6ICAz LjNnaXQKKysgICAgIyBMSUJWRVI6ICAzLjNnaXQKKysgICAgc2V0KFZFUlNJT04gIiR7R0lUX0RF U0NSSUJFfSIpCisrICAgIHNldChET0NWRVIgICIke01BSk9SX1ZFUlNJT059LiR7QVBJX0NPTVBB VH0ke01JTk9SX1ZFUlNJT059IikKKysgICAgc2V0KExJQlZFUiAgIiR7TUFKT1JfVkVSU0lPTn0u JHtBUElfQ09NUEFUfSR7TUlOT1JfVkVSU0lPTn0iKQorKyAgICBzZXQoUkNfTUlOT1JfVkVSU0lP TiAiMCIpCisrICAgIHNldChSQ19NQUlOVF9WRVJTSU9OICIwIikKKytlbHNlaWYoIiR7TUFJTlRf VkVSU0lPTn0iIFNUUkVRVUFMICJnaXQiKQorKyAgICAjIFZFUlNJT046IDMuMy4xZ2l0LXh4eC1n eHh4eHh4eHgKKysgICAgIyBET0NWRVI6ICAzLjMuMWdpdAorKyAgICAjIExJQlZFUjogIDMuMy4x Z2l0CisrICAgIHNldChWRVJTSU9OICIke0dJVF9ERVNDUklCRX0iKQorKyAgICBzZXQoRE9DVkVS ICAiJHtNQUpPUl9WRVJTSU9OfS4ke0FQSV9DT01QQVR9LiR7TUlOT1JfVkVSU0lPTn0ke01BSU5U X1ZFUlNJT059IikKKysgICAgc2V0KExJQlZFUiAgIiR7TUFKT1JfVkVSU0lPTn0uJHtBUElfQ09N UEFUfS4ke01JTk9SX1ZFUlNJT059JHtNQUlOVF9WRVJTSU9OfSIpCisrICAgIG1hdGgoRVhQUiBS Q19NSU5PUl9WRVJTSU9OICIke01JTk9SX1ZFUlNJT059IC0gMSIpCisrICAgIHNldChSQ19NQUlO VF9WRVJTSU9OICIwIikKKytlbHNlKCkKKysgICAgIyBUaGlzIGlzIGEgbnVtYmVyZWQgcmVsZWFz ZS4KKysgICAgIyBWRVJTSU9OOiAzLjMuMXsueH0KKysgICAgIyBET0NWRVI6ICAzLjMuMXsueH0K KysgICAgIyBMSUJWRVI6ICAzLjMuMXsueH0KKysgICAgaWYoIiR7TUFJTlRfVkVSU0lPTn0iIFNU UkVRVUFMICIwIikKKysgICAgICAgIHNldChWRVJTSU9OICIke01BSk9SX1ZFUlNJT059LiR7QVBJ X0NPTVBBVH0uJHtNSU5PUl9WRVJTSU9OfSIpCisrICAgIGVsc2UoKQorKyAgICAgICAgc2V0KFZF UlNJT04gIiR7TUFKT1JfVkVSU0lPTn0uJHtBUElfQ09NUEFUfS4ke01JTk9SX1ZFUlNJT059LiR7 TUFJTlRfVkVSU0lPTn0iKQorKyAgICBlbmRpZigpCisrICAgIHNldChET0NWRVIgIiR7VkVSU0lP Tn0iKQorKyAgICBzZXQoTElCVkVSICIke1ZFUlNJT059IikKKysgICAgc2V0KFJDX01JTk9SX1ZF UlNJT04gJHtNSU5PUl9WRVJTSU9OfSkKKysgICAgc2V0KFJDX01BSU5UX1ZFUlNJT04gJHtNQUlO VF9WRVJTSU9OfSkKKytlbmRpZigpCitkaWZmIC0tZ2l0IGEvZ3JjL2dlbl9vc21vc2RyX2Jsb2Nr cy5weSBiL2dyYy9nZW5fb3Ntb3Nkcl9ibG9ja3MucHkKK2luZGV4IGUzMGNjNzAuLmE0YTdmOTYg MTAwNjQ0CistLS0gZ3JjL2dlbl9vc21vc2RyX2Jsb2Nrcy5weQorKysrIGdyYy9nZW5fb3Ntb3Nk cl9ibG9ja3MucHkKK0BAIC0zMywxMSArMzMsMTEgQEAgcGFyYW1ldGVyczoKKyAgIG9wdGlvbl9h dHRyaWJ1dGVzOgorICAgICAgIHR5cGU6IFtmYzMyXQorICAgaGlkZTogcGFydAorLS0gaWQ6IGRl dl9hcmdzCisrLSBpZDogYXJncworICAgbGFiZWw6ICdEZXZpY2UgQXJndW1lbnRzJworICAgZHR5 cGU6IHN0cmluZworICAgZGVmYXVsdDogJyIiJworLSAgaGlkZTogJHsnJCd9eyAnbm9uZScgaWYg ZGV2X2FyZ3MgZWxzZSAncGFydCd9CisrICBoaWRlOiAkeyckJ317ICdub25lJyBpZiBhcmdzIGVs c2UgJ3BhcnQnfQorIC0gaWQ6IHN5bmMKKyAgIGxhYmVsOiBTeW5jCisgICBkdHlwZTogZW51bQor QEAgLTEzNyw3ICsxMzcsNyBAQCB0ZW1wbGF0ZXM6CisgICBjYWxsYmFja3M6CisgICAgIC0gc2V0 X3NhbXBsZV9yYXRlKCR7JyQnfXtzYW1wbGVfcmF0ZX0pCisgICAgICUgZm9yIG4gaW4gcmFuZ2Uo bWF4X25jaGFuKToKKy0gICAgLSBzZXRfY2VudHJlX2ZyZXEoJHsnJCd9eyR7J2ZyZXEnICsgc3Ry KG4pfX0sICR7bn0pCisrICAgIC0gc2V0X2NlbnRlcl9mcmVxKCR7JyQnfXskeydmcmVxJyArIHN0 cihuKX19LCAke259KQorICAgICAtIHNldF9mcmVxX2NvcnIoJHsnJCd9eyR7J2NvcnInICsgc3Ry KG4pfX0sICR7bn0pCisgICAgICUgaWYgc291cmsgPT0gJ3NvdXJjZSc6CisgICAgIC0gc2V0X2Rj X29mZnNldF9tb2RlKCR7JyQnfXskeydkY19vZmZzZXRfbW9kZScgKyBzdHIobil9fSwgJHtufSkK K2RpZmYgLS1naXQgYS9pbmNsdWRlL29zbW9zZHIvQ01ha2VMaXN0cy50eHQgYi9pbmNsdWRlL29z bW9zZHIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDE5Y2EzYmMuLmQxODVlZTYgMTAwNjQ0CistLS0g aW5jbHVkZS9vc21vc2RyL0NNYWtlTGlzdHMudHh0CisrKysgaW5jbHVkZS9vc21vc2RyL0NNYWtl TGlzdHMudHh0CitAQCAtMSw3ICsxLDYgQEAKKy0jIENvcHlyaWdodCAyMDExLDIwMTIgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKyAjCistIyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9t b2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJhZGlvIGZyYW1ld29yaworLSMgVGhpcyBmaWxl IGlzIGEgcGFydCBvZiBnci1vc21vc2RyCisrIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgUmFk aW8KKyAjCisgIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKK0BAIC0yMyw2ICsyMiwxMSBAQAor ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworIGluc3RhbGwoRklMRVMKKyAgICAgYXBpLmgKKysgICAgcGltcGwu aAorKyAgICByYW5nZXMuaAorKyAgICB0aW1lX3NwZWMuaAorKyAgICBkZXZpY2UuaAorICAgICBz b3VyY2UuaAorLSAgICBzaW5rLmggREVTVElOQVRJT04gaW5jbHVkZS9vc21vc2RyCisrICAgIHNp bmsuaAorKyAgICBERVNUSU5BVElPTiBpbmNsdWRlL29zbW9zZHIKKyApCitkaWZmIC0tZ2l0IGEv aW5jbHVkZS9vc21vc2RyL2FwaS5oIGIvaW5jbHVkZS9vc21vc2RyL2FwaS5oCitpbmRleCA0M2Yy ZTI4Li5kM2FkYmYwIDEwMDY0NAorLS0tIGluY2x1ZGUvb3Ntb3Nkci9hcGkuaAorKysrIGluY2x1 ZGUvb3Ntb3Nkci9hcGkuaAorQEAgLTEsOCArMSw3IEBACisgLyoKKyAgKiBDb3B5cmlnaHQgMjAx MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgKgorLSAqIFRoaXMgZmlsZSB3YXMg Z2VuZXJhdGVkIGJ5IGdyX21vZHRvb2wsIGEgdG9vbCBmcm9tIHRoZSBHTlUgUmFkaW8gZnJhbWV3 b3JrCistICogVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1vc21vc2RyCisrICogVGhpcyBmaWxl IGlzIHBhcnQgb2YgR05VIFJhZGlvCisgICoKKyAgKiBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAqIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9vc21vc2RyL3NpbmsuaCBiL2luY2x1ZGUvb3Ntb3Nkci9z aW5rLmgKK2luZGV4IDg1ZjQxZTIuLjkwNjk3NmUgMTAwNjQ0CistLS0gaW5jbHVkZS9vc21vc2Ry L3NpbmsuaAorKysrIGluY2x1ZGUvb3Ntb3Nkci9zaW5rLmgKK0BAIC0xLDIzICsxLDIyIEBACisg LyogLSotIGMrKyAtKi0gKi8KKyAvKgorLSAqIENvcHlyaWdodCAyMDE5IGdyLW9zbW9zZHIgYXV0 aG9yLgorKyAqIENvcHlyaWdodCAyMDEyIERpbWl0cmkgU3RvbG5pa292IDxob3JpejBuQGdteC5u ZXQ+CisgICoKKy0gKiBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKysgKiBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICogdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIg b3B0aW9uKQorICAqIGFueSBsYXRlciB2ZXJzaW9uLgorICAqCistICogVGhpcyBzb2Z0d2FyZSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAqIEdO VSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorICAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisgICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisgICoKKyAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSAqIGFsb25nIHdpdGggdGhpcyBz b2Z0d2FyZTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvCisrICogYWxv bmcgd2l0aCBHTlUgUmFkaW87IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0 bworICAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0 cmVldCwKKyAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAgKi8KKy0KKyAjaWZuZGVm IElOQ0xVREVEX09TTU9TRFJfU0lOS19ICisgI2RlZmluZSBJTkNMVURFRF9PU01PU0RSX1NJTktf SAorIAorQEAgLTI4LDM1MiArMjcsMzUyIEBACisgCisgbmFtZXNwYWNlIG9zbW9zZHIgeworIAor LSAgY2xhc3Mgc2luazsKKytjbGFzcyBzaW5rOworIAorLSAgLyohCistICogXGJyaWVmIDwrZGVz Y3JpcHRpb24gb2YgYmxvY2srPgorLSAqIFxpbmdyb3VwIG9zbW9zZHIKKysvKiEKKysgKiBcYnJp ZWYgVGFrZXMgYSBzdHJlYW0gb2YgY29tcGxleCBzYW1wbGVzLgorKyAqIFxpbmdyb3VwIGJsb2Nr CisgICoKKysgKiBUaGlzIHVzZXMgdGhlIHByZWZlcnJlZCB0ZWNobmlxdWU6IHN1YmNsYXNzaW5n IGdyOjpoaWVyX2Jsb2NrMi4KKyAgKi8KKyBjbGFzcyBPU01PU0RSX0FQSSBzaW5rIDogdmlydHVh bCBwdWJsaWMgZ3I6OmhpZXJfYmxvY2syCisgeworLSBwdWJsaWM6CistICB0eXBlZGVmIGJvb3N0 OjpzaGFyZWRfcHRyPHNpbms+IHNwdHI7CistCistICAgIC8qIQorLSAgICAgICogXGJyaWVmIFJl dHVybiBhIHNoYXJlZF9wdHIgdG8gYSBuZXcgaW5zdGFuY2Ugb2Ygc2luay4KKy0gICAgICAqCist ICAgICAgKiBUbyBhdm9pZCBhY2NpZGVudGFsIHVzZSBvZiByYXcgcG9pbnRlcnMsIHNpbmsncwor LSAgICAgICogY29uc3RydWN0b3IgaXMgcHJpdmF0ZS4gIG9zbW9zZHI6OnNpbms6Om1ha2UgaXMg dGhlIHB1YmxpYworLSAgICAgICogaW50ZXJmYWNlIGZvciBjcmVhdGluZyBuZXcgaW5zdGFuY2Vz LgorLSAgICAgICoKKy0gICAgICAqIFxwYXJhbSBhcmdzIHRoZSBhZGRyZXNzIHRvIGlkZW50aWZ5 IHRoZSBoYXJkd2FyZQorLSAgICAgICogXHJldHVybiBhIG5ldyBvc21vc2RyIHNpbmsgYmxvY2sg b2JqZWN0CistICAgICAgKi8KKy0gICAgc3RhdGljIHNwdHIgbWFrZSggY29uc3Qgc3RkOjpzdHJp bmcgJiBhcmdzID0gIiIgKTsKKy0KKy0gICAgLyohCistICAgICAqIEdldCB0aGUgbnVtYmVyIG9m IGNoYW5uZWxzIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlIG9mZmVycy4KKy0gICAgICog XHJldHVybiB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBjaGFubmVscworLSAgICAgKi8KKy0gICAg dmlydHVhbCBzaXplX3QgZ2V0X251bV9jaGFubmVscyggdm9pZCApID0gMDsKKy0KKy0gICAgLyoh CistICAgICAqIEdldCB0aGUgcG9zc2libGUgc2FtcGxlIHJhdGVzIGZvciB0aGUgdW5kZXJseWlu ZyByYWRpbyBoYXJkd2FyZS4KKy0gICAgICogXHJldHVybiBhIHJhbmdlIG9mIHJhdGVzIGluIFNw cworLSAgICAgKi8KKy0gICAgdmlydHVhbCBvc21vc2RyOjptZXRhX3JhbmdlX3QgZ2V0X3NhbXBs ZV9yYXRlcyggdm9pZCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFNldCB0aGUgc2FtcGxl IHJhdGUgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorLSAgICAgKiBUaGlzIGFs c28gd2lsbCBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIElGIGJhbmRwYXNzLCBpZiBhcHBsaWNhYmxl LgorLSAgICAgKiBccGFyYW0gcmF0ZSBhIG5ldyByYXRlIGluIFNwcworLSAgICAgKi8KKy0gICAg dmlydHVhbCBkb3VibGUgc2V0X3NhbXBsZV9yYXRlKCBkb3VibGUgcmF0ZSApID0gMDsKKy0KKy0g ICAgLyohCistICAgICAqIEdldCB0aGUgc2FtcGxlIHJhdGUgZm9yIHRoZSB1bmRlcmx5aW5nIHJh ZGlvIGhhcmR3YXJlLgorLSAgICAgKiBUaGlzIGlzIHRoZSBhY3R1YWwgc2FtcGxlIHJhdGUgYW5k IG1heSBkaWZmZXIgZnJvbSB0aGUgcmF0ZSBzZXQuCistICAgICAqIFxyZXR1cm4gdGhlIGFjdHVh bCByYXRlIGluIFNwcworLSAgICAgKi8KKy0gICAgdmlydHVhbCBkb3VibGUgZ2V0X3NhbXBsZV9y YXRlKCB2b2lkICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogR2V0IHRoZSB0dW5hYmxlIGZy ZXF1ZW5jeSByYW5nZSBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAgICAq IFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4g dGhlIGZyZXF1ZW5jeSByYW5nZSBpbiBIegorLSAgICAgKi8KKy0gICAgdmlydHVhbCBvc21vc2Ry OjpmcmVxX3JhbmdlX3QgZ2V0X2ZyZXFfcmFuZ2UoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0K Ky0gICAgLyohCistICAgICAqIFR1bmUgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUgdG8g dGhlIGRlc2lyZWQgY2VudGVyIGZyZXF1ZW5jeS4KKy0gICAgICogVGhpcyBhbHNvIHdpbGwgc2Vs ZWN0IHRoZSBhcHByb3ByaWF0ZSBSRiBiYW5kcGFzcy4KKy0gICAgICogXHBhcmFtIGZyZXEgdGhl IGRlc2lyZWQgZnJlcXVlbmN5IGluIEh6CistICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVs IGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBmcmVxdWVuY3kgaW4g SHoKKy0gICAgICovCistICAgIHZpcnR1YWwgZG91YmxlIHNldF9jZW50ZXJfZnJlcSggZG91Ymxl IGZyZXEsIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIEdldCB0 aGUgY2VudGVyIGZyZXF1ZW5jeSB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZSBpcyB0dW5l ZCB0by4KKy0gICAgICogVGhpcyBpcyB0aGUgYWN0dWFsIGZyZXF1ZW5jeSBhbmQgbWF5IGRpZmZl ciBmcm9tIHRoZSBmcmVxdWVuY3kgc2V0LgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5l bCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBccmV0dXJuIHRoZSBmcmVxdWVuY3kgaW4gSHoKKy0g ICAgICovCistICAgIHZpcnR1YWwgZG91YmxlIGdldF9jZW50ZXJfZnJlcSggc2l6ZV90IGNoYW4g PSAwICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogU2V0IHRoZSBmcmVxdWVuY3kgY29ycmVj dGlvbiB2YWx1ZSBpbiBwYXJ0cyBwZXIgbWlsbGlvbi4KKy0gICAgICogXHBhcmFtIHBwbSB0aGUg ZGVzaXJlZCBjb3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCistICAgICAqIFxw YXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4gY29y cmVjdGlvbiB2YWx1ZSBpbiBwYXJ0cyBwZXIgbWlsbGlvbgorLSAgICAgKi8KKy0gICAgdmlydHVh bCBkb3VibGUgc2V0X2ZyZXFfY29yciggZG91YmxlIHBwbSwgc2l6ZV90IGNoYW4gPSAwICkgPSAw OworLQorLSAgICAvKiEKKy0gICAgICogR2V0IHRoZSBmcmVxdWVuY3kgY29ycmVjdGlvbiB2YWx1 ZS4KKy0gICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAg ICogXHJldHVybiBjb3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCistICAgICAq LworLSAgICB2aXJ0dWFsIGRvdWJsZSBnZXRfZnJlcV9jb3JyKCBzaXplX3QgY2hhbiA9IDAgKSA9 IDA7CistCistICAgIC8qIQorLSAgICAgKiBHZXQgdGhlIGdhaW4gc3RhZ2UgbmFtZXMgb2YgdGhl IHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFu bmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4gYSB2ZWN0b3Igb2Ygc3RyaW5ncyBj b250YWluaW5nIHRoZSBuYW1lcyBvZiBnYWluIHN0YWdlcworLSAgICAgKi8KKy0gICAgdmlydHVh bCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gZ2V0X2dhaW5fbmFtZXMoIHNpemVfdCBjaGFuID0g MCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIEdldCB0aGUgc2V0dGFibGUgb3ZlcmFsbCBn YWluIHJhbmdlIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAgICogXHBh cmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICogXHJldHVybiB0aGUg Z2FpbiByYW5nZSBpbiBkQgorLSAgICAgKi8KKy0gICAgdmlydHVhbCBvc21vc2RyOjpnYWluX3Jh bmdlX3QgZ2V0X2dhaW5fcmFuZ2UoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyoh CistICAgICAqIEdldCB0aGUgc2V0dGFibGUgZ2FpbiByYW5nZSBmb3IgYSBzcGVjaWZpYyBnYWlu IHN0YWdlLgorLSAgICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZ2FpbiBzdGFnZQor LSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBc cmV0dXJuIHRoZSBnYWluIHJhbmdlIGluIGRCCistICAgICAqLworLSAgICB2aXJ0dWFsIG9zbW9z ZHI6OmdhaW5fcmFuZ2VfdCBnZXRfZ2Fpbl9yYW5nZSggY29uc3Qgc3RkOjpzdHJpbmcgJiBuYW1l LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6 ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogU2V0IHRoZSBnYWluIG1v ZGUgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorLSAgICAgKiBUaGlzIG1pZ2h0 IGJlIHN1cHBvcnRlZCBvbmx5IGZvciBjZXJ0YWluIGhhcmR3YXJlIHR5cGVzLgorLSAgICAgKiBc cGFyYW0gYXV0b21hdGljIHRoZSBnYWluIG1vZGUgKHRydWUgbWVhbnMgYXV0b21hdGljIGdhaW4g bW9kZSkKKy0gICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0g ICAgICogXHJldHVybiB0aGUgYWN0dWFsIGdhaW4gbW9kZQorLSAgICAgKi8KKy0gICAgdmlydHVh bCBib29sIHNldF9nYWluX21vZGUoIGJvb2wgYXV0b21hdGljLCBzaXplX3QgY2hhbiA9IDAgKSA9 IDA7CistCistICAgIC8qIQorLSAgICAgKiBHZXQgdGhlIGdhaW4gbW9kZSBzZWxlY3RlZCBmb3Ig dGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAgICAqIFxwYXJhbSBjaGFuIHRoZSBj aGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIG1v ZGUgKHRydWUgbWVhbnMgYXV0b21hdGljIGdhaW4gbW9kZSkKKy0gICAgICovCistICAgIHZpcnR1 YWwgYm9vbCBnZXRfZ2Fpbl9tb2RlKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAgIC8q IQorLSAgICAgKiBTZXQgdGhlIGdhaW4gZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJl LgorLSAgICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYXV0b21hdGljYWxseSBkaXN0cmlidXRlIHRo ZSBkZXNpcmVkIGdhaW4gdmFsdWUgb3ZlcgorLSAgICAgKiBhdmFpbGFibGUgZ2FpbiBzdGFnZXMg aW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCByZXR1cm4gdGhlIGFjdHVhbCB2YWx1ZS4KKy0gICAg ICogXHBhcmFtIGdhaW4gdGhlIGdhaW4gaW4gZEIKKy0gICAgICogXHBhcmFtIGNoYW4gdGhlIGNo YW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICogXHJldHVybiB0aGUgYWN0dWFsIGdhaW4gaW4g ZEIKKy0gICAgICovCistICAgIHZpcnR1YWwgZG91YmxlIHNldF9nYWluKCBkb3VibGUgZ2Fpbiwg c2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogU2V0IHRoZSBuYW1l ZCBnYWluIG9uIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorLSAgICAgKiBccGFyYW0g Z2FpbiB0aGUgZ2FpbiBpbiBkQgorLSAgICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUg Z2FpbiBzdGFnZQorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4t MQorLSAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorLSAgICAgKi8KKy0gICAg dmlydHVhbCBkb3VibGUgc2V0X2dhaW4oIGRvdWJsZSBnYWluLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJiBuYW1lLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICog R2V0IHRoZSBhY3R1YWwgZ2FpbiBzZXR0aW5nIG9mIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3 YXJlLgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAg ICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorLSAgICAgKi8KKy0gICAgdmlydHVh bCBkb3VibGUgZ2V0X2dhaW4oIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCist ICAgICAqIEdldCB0aGUgYWN0dWFsIGdhaW4gc2V0dGluZyBvZiBhIG5hbWVkIHN0YWdlLgorLSAg ICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZ2FpbiBzdGFnZQorLSAgICAgKiBccGFy YW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBccmV0dXJuIHRoZSBh Y3R1YWwgZ2FpbiBpbiBkQgorLSAgICAgKi8KKy0gICAgdmlydHVhbCBkb3VibGUgZ2V0X2dhaW4o IGNvbnN0IHN0ZDo6c3RyaW5nICYgbmFtZSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAg ICAvKiEKKy0gICAgICogU2V0IHRoZSBJRiBnYWluIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBo YXJkd2FyZS4KKy0gICAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgZGlzdHJp YnV0ZSB0aGUgZGVzaXJlZCBnYWluIHZhbHVlIG92ZXIKKy0gICAgICogYXZhaWxhYmxlIElGIGdh aW4gc3RhZ2VzIGluIGFuIGFwcHJvcHJpYXRlIHdheSBhbmQgcmV0dXJuIHRoZSBhY3R1YWwgdmFs dWUuCistICAgICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCistICAgICAqIFxwYXJhbSBj aGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4gdGhlIGFjdHVh bCBnYWluIGluIGRCCistICAgICAqLworLSAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfaWZfZ2Fpbigg ZG91YmxlIGdhaW4sIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAq IFNldCB0aGUgQkIgZ2FpbiBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAg ICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRvbWF0aWNhbGx5IGRpc3RyaWJ1dGUgdGhlIGRlc2ly ZWQgZ2FpbiB2YWx1ZSBvdmVyCistICAgICAqIGF2YWlsYWJsZSBCQiBnYWluIHN0YWdlcyBpbiBh biBhcHByb3ByaWF0ZSB3YXkgYW5kIHJldHVybiB0aGUgYWN0dWFsIHZhbHVlLgorLSAgICAgKiBc cGFyYW0gZ2FpbiB0aGUgZ2FpbiBpbiBkQgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5l bCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgor LSAgICAgKi8KKy0gICAgdmlydHVhbCBkb3VibGUgc2V0X2JiX2dhaW4oIGRvdWJsZSBnYWluLCBz aXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAgIC8qIQorLSAgICAgKiBHZXQgdGhlIGF2YWls YWJsZSBhbnRlbm5hcyBvZiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAgICog XHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICogXHJldHVybiBh IHZlY3RvciBvZiBzdHJpbmdzIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIGF2YWlsYWJsZSBhbnRl bm5hcworLSAgICAgKi8KKy0gICAgdmlydHVhbCBzdGQ6OnZlY3Rvcjwgc3RkOjpzdHJpbmcgPiBn ZXRfYW50ZW5uYXMoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAq IFNlbGVjdCB0aGUgYWN0aXZlIGFudGVubmEgb2YgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdh cmUuCistICAgICAqIFxwYXJhbSBhbnRlbm5hIG5hbWUgb2YgdGhlIGFudGVubmEgdG8gYmUgc2Vs ZWN0ZWQKKy0gICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0g ICAgICogXHJldHVybiB0aGUgYWN0dWFsIGFudGVubmEncyBuYW1lCistICAgICAqLworLSAgICB2 aXJ0dWFsIHN0ZDo6c3RyaW5nIHNldF9hbnRlbm5hKCBjb25zdCBzdGQ6OnN0cmluZyAmIGFudGVu bmEsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBjaGFuID0g MCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIEdldCB0aGUgYWN0dWFsIHVuZGVybHlpbmcg cmFkaW8gaGFyZHdhcmUgYW50ZW5uYSBzZXR0aW5nLgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUg Y2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgYW50ZW5u YSdzIG5hbWUKKy0gICAgICovCistICAgIHZpcnR1YWwgc3RkOjpzdHJpbmcgZ2V0X2FudGVubmEo IHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFNldCB0aGUgVFgg ZnJvbnRlbmQgREMgb2Zmc2V0IHZhbHVlLgorLSAgICAgKiBUaGUgdmFsdWUgaXMgY29tcGxleCB0 byBjb250cm9sIGJvdGggSSBhbmQgUS4KKy0gICAgICoKKy0gICAgICogXHBhcmFtIG9mZnNldCB0 aGUgZGMgb2Zmc2V0ICgxLjAgaXMgZnVsbC1zY2FsZSkKKy0gICAgICogXHBhcmFtIGNoYW4gdGhl IGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICovCistICAgIHZpcnR1YWwgdm9pZCBzZXRf ZGNfb2Zmc2V0KCBjb25zdCBzdGQ6OmNvbXBsZXg8ZG91YmxlPiAmb2Zmc2V0LCBzaXplX3QgY2hh biA9IDAgKSA9IDA7CistCistICAgIC8qIQorLSAgICAgKiBTZXQgdGhlIFRYIGZyb250ZW5kIElR IGJhbGFuY2UgY29ycmVjdGlvbi4KKy0gICAgICogVXNlIHRoaXMgdG8gYWRqdXN0IHRoZSBtYWdu aXR1ZGUgYW5kIHBoYXNlIG9mIEkgYW5kIFEuCistICAgICAqCistICAgICAqIFxwYXJhbSBiYWxh bmNlIHRoZSBjb21wbGV4IGNvcnJlY3Rpb24gdmFsdWUKKy0gICAgICogXHBhcmFtIGNoYW4gdGhl IGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICovCistICAgIHZpcnR1YWwgdm9pZCBzZXRf aXFfYmFsYW5jZSggY29uc3Qgc3RkOjpjb21wbGV4PGRvdWJsZT4gJmJhbGFuY2UsIHNpemVfdCBj aGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFNldCB0aGUgYmFuZHBhc3MgZmls dGVyIG9uIHRoZSByYWRpbyBmcm9udGVuZC4KKy0gICAgICogXHBhcmFtIGJhbmR3aWR0aCB0aGUg ZmlsdGVyIGJhbmR3aWR0aCBpbiBIeiwgc2V0IHRvIDAgZm9yIGF1dG9tYXRpYyBzZWxlY3Rpb24K Ky0gICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICog XHJldHVybiB0aGUgYWN0dWFsIGZpbHRlciBiYW5kd2lkdGggaW4gSHoKKy0gICAgICovCistICAg IHZpcnR1YWwgZG91YmxlIHNldF9iYW5kd2lkdGgoIGRvdWJsZSBiYW5kd2lkdGgsIHNpemVfdCBj aGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIEdldCB0aGUgYWN0dWFsIGJhbmRw YXNzIGZpbHRlciBzZXR0aW5nIG9uIHRoZSByYWRpbyBmcm9udGVuZC4KKy0gICAgICogXHBhcmFt IGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICogXHJldHVybiB0aGUgYWN0 dWFsIGZpbHRlciBiYW5kd2lkdGggaW4gSHoKKy0gICAgICovCistICAgIHZpcnR1YWwgZG91Ymxl IGdldF9iYW5kd2lkdGgoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAg ICAqIEdldCB0aGUgcG9zc2libGUgYmFuZHBhc3MgZmlsdGVyIHNldHRpbmdzIG9uIHRoZSByYWRp byBmcm9udGVuZC4KKy0gICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBO LTEKKy0gICAgICogXHJldHVybiBhIHJhbmdlIG9mIGJhbmR3aWR0aHMgaW4gSHoKKy0gICAgICov CistICAgIHZpcnR1YWwgb3Ntb3Nkcjo6ZnJlcV9yYW5nZV90IGdldF9iYW5kd2lkdGhfcmFuZ2Uo IHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFNldCB0aGUgdGlt ZSBzb3VyY2UgZm9yIHRoZSBkZXZpY2UuCistICAgICAqIFRoaXMgc2V0cyB0aGUgbWV0aG9kIG9m IHRpbWUgc3luY2hyb25pemF0aW9uLAorLSAgICAgKiB0eXBpY2FsbHkgYSBwdWxzZSBwZXIgc2Vj b25kIG9yIGFuIGVuY29kZWQgdGltZS4KKy0gICAgICogVHlwaWNhbCBvcHRpb25zIGZvciBzb3Vy Y2U6IGV4dGVybmFsLCBNSU1PLgorLSAgICAgKiBccGFyYW0gc291cmNlIGEgc3RyaW5nIHJlcHJl c2VudGluZyB0aGUgdGltZSBzb3VyY2UKKy0gICAgICogXHBhcmFtIG1ib2FyZCB3aGljaCBtb3Ro ZXJib2FyZCB0byBzZXQgdGhlIGNvbmZpZworLSAgICAgKi8KKy0gICAgdmlydHVhbCB2b2lkIHNl dF90aW1lX3NvdXJjZShjb25zdCBzdGQ6OnN0cmluZyAmc291cmNlLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7CistCistICAg IC8qIQorLSAgICAgKiBHZXQgdGhlIGN1cnJlbnRseSBzZXQgdGltZSBzb3VyY2UuCistICAgICAq IFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBjb25maWcKKy0gICAg ICogXHJldHVybiB0aGUgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgdGltZSBzb3VyY2UKKy0gICAg ICovCistICAgIHZpcnR1YWwgc3RkOjpzdHJpbmcgZ2V0X3RpbWVfc291cmNlKGNvbnN0IHNpemVf dCBtYm9hcmQpID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIEdldCBhIGxpc3Qgb2YgcG9zc2li bGUgdGltZSBzb3VyY2VzLgorLSAgICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJk IHRvIGdldCB0aGUgbGlzdAorLSAgICAgKiBccmV0dXJuIGEgdmVjdG9yIG9mIHN0cmluZ3MgZm9y IHBvc3NpYmxlIHNldHRpbmdzCistICAgICAqLworLSAgICB2aXJ0dWFsIHN0ZDo6dmVjdG9yPHN0 ZDo6c3RyaW5nPiBnZXRfdGltZV9zb3VyY2VzKGNvbnN0IHNpemVfdCBtYm9hcmQpID0gMDsKKy0K Ky0gICAgLyohCistICAgICAqIFNldCB0aGUgY2xvY2sgc291cmNlIGZvciB0aGUgZGV2aWNlLgor LSAgICAgKiBUaGlzIHNldHMgdGhlIHNvdXJjZSBmb3IgYSAxMCBNaHogcmVmZXJlbmNlIGNsb2Nr LgorLSAgICAgKiBUeXBpY2FsIG9wdGlvbnMgZm9yIHNvdXJjZTogaW50ZXJuYWwsIGV4dGVybmFs LCBNSU1PLgorLSAgICAgKiBccGFyYW0gc291cmNlIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUg Y2xvY2sgc291cmNlCistICAgICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8g c2V0IHRoZSBjb25maWcKKy0gICAgICovCistICAgIHZpcnR1YWwgdm9pZCBzZXRfY2xvY2tfc291 cmNlKGNvbnN0IHN0ZDo6c3RyaW5nICZzb3VyY2UsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7CistCistICAgIC8qIQorLSAg ICAgKiBHZXQgdGhlIGN1cnJlbnRseSBzZXQgY2xvY2sgc291cmNlLgorLSAgICAgKiBccGFyYW0g bWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJkIHRvIGdldCB0aGUgY29uZmlnCistICAgICAqIFxyZXR1 cm4gdGhlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGNsb2NrIHNvdXJjZQorLSAgICAgKi8KKy0g ICAgdmlydHVhbCBzdGQ6OnN0cmluZyBnZXRfY2xvY2tfc291cmNlKGNvbnN0IHNpemVfdCBtYm9h cmQpID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIEdldCBhIGxpc3Qgb2YgcG9zc2libGUgY2xv Y2sgc291cmNlcy4KKy0gICAgICogXHBhcmFtIG1ib2FyZCB3aGljaCBtb3RoZXJib2FyZCB0byBn ZXQgdGhlIGxpc3QKKy0gICAgICogXHJldHVybiBhIHZlY3RvciBvZiBzdHJpbmdzIGZvciBwb3Nz aWJsZSBzZXR0aW5ncworLSAgICAgKi8KKy0gICAgdmlydHVhbCBzdGQ6OnZlY3RvcjxzdGQ6OnN0 cmluZz4gZ2V0X2Nsb2NrX3NvdXJjZXMoY29uc3Qgc2l6ZV90IG1ib2FyZCkgPSAwOworLQorLSAg ICAvKiEKKy0gICAgICogR2V0IHRoZSBtYXN0ZXIgY2xvY2sgcmF0ZS4KKy0gICAgICogXHBhcmFt IG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKy0gICAgICogXHJldHVybiB0 aGUgY2xvY2sgcmF0ZSBpbiBIegorLSAgICAgKi8KKy0gICAgdmlydHVhbCBkb3VibGUgZ2V0X2Ns b2NrX3JhdGUoc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFNl dCB0aGUgbWFzdGVyIGNsb2NrIHJhdGUuCistICAgICAqIFxwYXJhbSByYXRlIHRoZSBuZXcgcmF0 ZSBpbiBIegorLSAgICAgKiBccGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRv IE0tMQorLSAgICAgKi8KKy0gICAgdmlydHVhbCB2b2lkIHNldF9jbG9ja19yYXRlKGRvdWJsZSBy YXRlLCBzaXplX3QgbWJvYXJkID0gMCkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogR2V0IHRo ZSBjdXJyZW50IHRpbWUgcmVnaXN0ZXJzLgorLSAgICAgKiBccGFyYW0gbWJvYXJkIHRoZSBtb3Ro ZXJib2FyZCBpbmRleCAwIHRvIE0tMQorLSAgICAgKiBccmV0dXJuIHRoZSBjdXJyZW50IGRldmlj ZSB0aW1lCistICAgICAqLworLSAgICB2aXJ0dWFsIDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgZ2V0 X3RpbWVfbm93KHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7CistCistICAgIC8qIQorLSAgICAgKiBH ZXQgdGhlIHRpbWUgd2hlbiB0aGUgbGFzdCBwcHMgcHVsc2Ugb2NjdXJlZC4KKy0gICAgICogXHBh cmFtIG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKy0gICAgICogXHJldHVy biB0aGUgY3VycmVudCBkZXZpY2UgdGltZQorLSAgICAgKi8KKy0gICAgdmlydHVhbCA6Om9zbW9z ZHI6OnRpbWVfc3BlY190IGdldF90aW1lX2xhc3RfcHBzKHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7 CistCistICAgIC8qIQorLSAgICAgKiBTZXRzIHRoZSB0aW1lIHJlZ2lzdGVycyBpbW1lZGlhdGVs eS4KKy0gICAgICogXHBhcmFtIHRpbWVfc3BlYyB0aGUgbmV3IHRpbWUKKy0gICAgICogXHBhcmFt IG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKy0gICAgICovCistICAgIHZp cnR1YWwgdm9pZCBzZXRfdGltZV9ub3coY29uc3QgOjpvc21vc2RyOjp0aW1lX3NwZWNfdCAmdGlt ZV9zcGVjLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBtYm9hcmQgPSAw KSA9IDA7CistCistICAgIC8qIQorLSAgICAgKiBTZXQgdGhlIHRpbWUgcmVnaXN0ZXJzIGF0IHRo ZSBuZXh0IHBwcy4KKy0gICAgICogXHBhcmFtIHRpbWVfc3BlYyB0aGUgbmV3IHRpbWUKKy0gICAg ICovCistICAgIHZpcnR1YWwgdm9pZCBzZXRfdGltZV9uZXh0X3Bwcyhjb25zdCA6Om9zbW9zZHI6 OnRpbWVfc3BlY190ICZ0aW1lX3NwZWMpID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFN5bmMg dGhlIHRpbWUgcmVnaXN0ZXJzIHdpdGggYW4gdW5rbm93biBwcHMgZWRnZS4KKy0gICAgICogXHBh cmFtIHRpbWVfc3BlYyB0aGUgbmV3IHRpbWUKKy0gICAgICovCistICAgIHZpcnR1YWwgdm9pZCBz ZXRfdGltZV91bmtub3duX3Bwcyhjb25zdCA6Om9zbW9zZHI6OnRpbWVfc3BlY190ICZ0aW1lX3Nw ZWMpID0gMDsKKytwdWJsaWM6CisrICB0eXBlZGVmIGJvb3N0OjpzaGFyZWRfcHRyPCBzaW5rID4g c3B0cjsKKysKKysgIC8qIQorKyAgICogXGJyaWVmIFJldHVybiBhIHNoYXJlZF9wdHIgdG8gYSBu ZXcgaW5zdGFuY2Ugb2Ygc2luay4KKysgICAqCisrICAgKiBUbyBhdm9pZCBhY2NpZGVudGFsIHVz ZSBvZiByYXcgcG9pbnRlcnMsIHNpbmsncworKyAgICogY29uc3RydWN0b3IgaXMgcHJpdmF0ZS4g IG9zbW9zZHI6OnNpbms6Om1ha2UgaXMgdGhlIHB1YmxpYworKyAgICogaW50ZXJmYWNlIGZvciBj cmVhdGluZyBuZXcgaW5zdGFuY2VzLgorKyAgICoKKysgICAqIFxwYXJhbSBhcmdzIHRoZSBhZGRy ZXNzIHRvIGlkZW50aWZ5IHRoZSBoYXJkd2FyZQorKyAgICogXHJldHVybiBhIG5ldyBvc21vc2Ry IHNpbmsgYmxvY2sgb2JqZWN0CisrICAgKi8KKysgIHN0YXRpYyBzcHRyIG1ha2UoIGNvbnN0IHN0 ZDo6c3RyaW5nICYgYXJncyA9ICIiICk7CisrCisrICAvKiEKKysgICAqIEdldCB0aGUgbnVtYmVy IG9mIGNoYW5uZWxzIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlIG9mZmVycy4KKysgICAq IFxyZXR1cm4gdGhlIG51bWJlciBvZiBhdmFpbGFibGUgY2hhbm5lbHMKKysgICAqLworKyAgdmly dHVhbCBzaXplX3QgZ2V0X251bV9jaGFubmVscyggdm9pZCApID0gMDsKKysKKysgIC8qIQorKyAg ICogR2V0IHRoZSBwb3NzaWJsZSBzYW1wbGUgcmF0ZXMgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlv IGhhcmR3YXJlLgorKyAgICogXHJldHVybiBhIHJhbmdlIG9mIHJhdGVzIGluIFNwcworKyAgICov CisrICB2aXJ0dWFsIG9zbW9zZHI6Om1ldGFfcmFuZ2VfdCBnZXRfc2FtcGxlX3JhdGVzKCB2b2lk ICkgPSAwOworKworKyAgLyohCisrICAgKiBTZXQgdGhlIHNhbXBsZSByYXRlIGZvciB0aGUgdW5k ZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFRoaXMgYWxzbyB3aWxsIHNlbGVjdCB0aGUg YXBwcm9wcmlhdGUgSUYgYmFuZHBhc3MsIGlmIGFwcGxpY2FibGUuCisrICAgKiBccGFyYW0gcmF0 ZSBhIG5ldyByYXRlIGluIFNwcworKyAgICovCisrICB2aXJ0dWFsIGRvdWJsZSBzZXRfc2FtcGxl X3JhdGUoIGRvdWJsZSByYXRlICkgPSAwOworKworKyAgLyohCisrICAgKiBHZXQgdGhlIHNhbXBs ZSByYXRlIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFRoaXMgaXMg dGhlIGFjdHVhbCBzYW1wbGUgcmF0ZSBhbmQgbWF5IGRpZmZlciBmcm9tIHRoZSByYXRlIHNldC4K KysgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCByYXRlIGluIFNwcworKyAgICovCisrICB2aXJ0dWFs IGRvdWJsZSBnZXRfc2FtcGxlX3JhdGUoIHZvaWQgKSA9IDA7CisrCisrICAvKiEKKysgICAqIEdl dCB0aGUgdHVuYWJsZSBmcmVxdWVuY3kgcmFuZ2UgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhh cmR3YXJlLgorKyAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysg ICAqIFxyZXR1cm4gdGhlIGZyZXF1ZW5jeSByYW5nZSBpbiBIegorKyAgICovCisrICB2aXJ0dWFs IG9zbW9zZHI6OmZyZXFfcmFuZ2VfdCBnZXRfZnJlcV9yYW5nZSggc2l6ZV90IGNoYW4gPSAwICkg PSAwOworKworKyAgLyohCisrICAgKiBUdW5lIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJl IHRvIHRoZSBkZXNpcmVkIGNlbnRlciBmcmVxdWVuY3kuCisrICAgKiBUaGlzIGFsc28gd2lsbCBz ZWxlY3QgdGhlIGFwcHJvcHJpYXRlIFJGIGJhbmRwYXNzLgorKyAgICogXHBhcmFtIGZyZXEgdGhl IGRlc2lyZWQgZnJlcXVlbmN5IGluIEh6CisrICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBp bmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0dWFsIGZyZXF1ZW5jeSBpbiBIegor KyAgICovCisrICB2aXJ0dWFsIGRvdWJsZSBzZXRfY2VudGVyX2ZyZXEoIGRvdWJsZSBmcmVxLCBz aXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAqIEdldCB0aGUgY2VudGVyIGZy ZXF1ZW5jeSB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZSBpcyB0dW5lZCB0by4KKysgICAq IFRoaXMgaXMgdGhlIGFjdHVhbCBmcmVxdWVuY3kgYW5kIG1heSBkaWZmZXIgZnJvbSB0aGUgZnJl cXVlbmN5IHNldC4KKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0x CisrICAgKiBccmV0dXJuIHRoZSBmcmVxdWVuY3kgaW4gSHoKKysgICAqLworKyAgdmlydHVhbCBk b3VibGUgZ2V0X2NlbnRlcl9mcmVxKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAvKiEK KysgICAqIFNldCB0aGUgZnJlcXVlbmN5IGNvcnJlY3Rpb24gdmFsdWUgaW4gcGFydHMgcGVyIG1p bGxpb24uCisrICAgKiBccGFyYW0gcHBtIHRoZSBkZXNpcmVkIGNvcnJlY3Rpb24gdmFsdWUgaW4g cGFydHMgcGVyIG1pbGxpb24KKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAg dG8gTi0xCisrICAgKiBccmV0dXJuIGNvcnJlY3Rpb24gdmFsdWUgaW4gcGFydHMgcGVyIG1pbGxp b24KKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgc2V0X2ZyZXFfY29yciggZG91YmxlIHBwbSwg c2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAgKiBHZXQgdGhlIGZyZXF1ZW5j eSBjb3JyZWN0aW9uIHZhbHVlLgorKyAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXgg MCB0byBOLTEKKysgICAqIFxyZXR1cm4gY29ycmVjdGlvbiB2YWx1ZSBpbiBwYXJ0cyBwZXIgbWls bGlvbgorKyAgICovCisrICB2aXJ0dWFsIGRvdWJsZSBnZXRfZnJlcV9jb3JyKCBzaXplX3QgY2hh biA9IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAqIEdldCB0aGUgZ2FpbiBzdGFnZSBuYW1lcyBv ZiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFxwYXJhbSBjaGFuIHRoZSBj aGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgKiBccmV0dXJuIGEgdmVjdG9yIG9mIHN0cmluZ3Mg Y29udGFpbmluZyB0aGUgbmFtZXMgb2YgZ2FpbiBzdGFnZXMKKysgICAqLworKyAgdmlydHVhbCBz dGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gZ2V0X2dhaW5fbmFtZXMoIHNpemVfdCBjaGFuID0gMCAp ID0gMDsKKysKKysgIC8qIQorKyAgICogR2V0IHRoZSBzZXR0YWJsZSBvdmVyYWxsIGdhaW4gcmFu Z2UgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorKyAgICogXHBhcmFtIGNoYW4g dGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAqIFxyZXR1cm4gdGhlIGdhaW4gcmFuZ2Ug aW4gZEIKKysgICAqLworKyAgdmlydHVhbCBvc21vc2RyOjpnYWluX3JhbmdlX3QgZ2V0X2dhaW5f cmFuZ2UoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgIC8qIQorKyAgICogR2V0IHRoZSBz ZXR0YWJsZSBnYWluIHJhbmdlIGZvciBhIHNwZWNpZmljIGdhaW4gc3RhZ2UuCisrICAgKiBccGFy YW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZ2FpbiBzdGFnZQorKyAgICogXHBhcmFtIGNoYW4gdGhl IGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAqIFxyZXR1cm4gdGhlIGdhaW4gcmFuZ2UgaW4g ZEIKKysgICAqLworKyAgdmlydHVhbCBvc21vc2RyOjpnYWluX3JhbmdlX3QgZ2V0X2dhaW5fcmFu Z2UoIGNvbnN0IHN0ZDo6c3RyaW5nICYgbmFtZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAvKiEK KysgICAqIFNldCB0aGUgZ2FpbiBtb2RlIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2Fy ZS4KKysgICAqIFRoaXMgbWlnaHQgYmUgc3VwcG9ydGVkIG9ubHkgZm9yIGNlcnRhaW4gaGFyZHdh cmUgdHlwZXMuCisrICAgKiBccGFyYW0gYXV0b21hdGljIHRoZSBnYWluIG1vZGUgKHRydWUgbWVh bnMgYXV0b21hdGljIGdhaW4gbW9kZSkKKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGlu ZGV4IDAgdG8gTi0xCisrICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBtb2RlCisrICAgKi8K KysgIHZpcnR1YWwgYm9vbCBzZXRfZ2Fpbl9tb2RlKCBib29sIGF1dG9tYXRpYywgc2l6ZV90IGNo YW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAgKiBHZXQgdGhlIGdhaW4gbW9kZSBzZWxlY3Rl ZCBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgKiBccGFyYW0gY2hhbiB0 aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0dWFsIGdhaW4g bW9kZSAodHJ1ZSBtZWFucyBhdXRvbWF0aWMgZ2FpbiBtb2RlKQorKyAgICovCisrICB2aXJ0dWFs IGJvb2wgZ2V0X2dhaW5fbW9kZSggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgLyohCisr ICAgKiBTZXQgdGhlIGdhaW4gZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorKyAg ICogVGhpcyBmdW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgZGlzdHJpYnV0ZSB0aGUgZGVzaXJl ZCBnYWluIHZhbHVlIG92ZXIKKysgICAqIGF2YWlsYWJsZSBnYWluIHN0YWdlcyBpbiBhbiBhcHBy b3ByaWF0ZSB3YXkgYW5kIHJldHVybiB0aGUgYWN0dWFsIHZhbHVlLgorKyAgICogXHBhcmFtIGdh aW4gdGhlIGdhaW4gaW4gZEIKKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAg dG8gTi0xCisrICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorKyAgICovCisrICB2 aXJ0dWFsIGRvdWJsZSBzZXRfZ2FpbiggZG91YmxlIGdhaW4sIHNpemVfdCBjaGFuID0gMCApID0g MDsKKysKKysgIC8qIQorKyAgICogU2V0IHRoZSBuYW1lZCBnYWluIG9uIHRoZSB1bmRlcmx5aW5n IHJhZGlvIGhhcmR3YXJlLgorKyAgICogXHBhcmFtIGdhaW4gdGhlIGdhaW4gaW4gZEIKKysgICAq IFxwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBnYWluIHN0YWdlCisrICAgKiBccGFyYW0gY2hh biB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0dWFsIGdh aW4gaW4gZEIKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgc2V0X2dhaW4oIGRvdWJsZSBnYWlu LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICYgbmFtZSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisr ICAvKiEKKysgICAqIEdldCB0aGUgYWN0dWFsIGdhaW4gc2V0dGluZyBvZiB0aGUgdW5kZXJseWlu ZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAg dG8gTi0xCisrICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorKyAgICovCisrICB2 aXJ0dWFsIGRvdWJsZSBnZXRfZ2Fpbiggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgLyoh CisrICAgKiBHZXQgdGhlIGFjdHVhbCBnYWluIHNldHRpbmcgb2YgYSBuYW1lZCBzdGFnZS4KKysg ICAqIFxwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBnYWluIHN0YWdlCisrICAgKiBccGFyYW0g Y2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0dWFs IGdhaW4gaW4gZEIKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgZ2V0X2dhaW4oIGNvbnN0IHN0 ZDo6c3RyaW5nICYgbmFtZSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAg KiBTZXQgdGhlIElGIGdhaW4gZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorKyAg ICogVGhpcyBmdW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgZGlzdHJpYnV0ZSB0aGUgZGVzaXJl ZCBnYWluIHZhbHVlIG92ZXIKKysgICAqIGF2YWlsYWJsZSBJRiBnYWluIHN0YWdlcyBpbiBhbiBh cHByb3ByaWF0ZSB3YXkgYW5kIHJldHVybiB0aGUgYWN0dWFsIHZhbHVlLgorKyAgICogXHBhcmFt IGdhaW4gdGhlIGdhaW4gaW4gZEIKKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4 IDAgdG8gTi0xCisrICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorKyAgICovCisr ICB2aXJ0dWFsIGRvdWJsZSBzZXRfaWZfZ2FpbiggZG91YmxlIGdhaW4sIHNpemVfdCBjaGFuID0g MCApID0gMDsKKysKKysgIC8qIQorKyAgICogU2V0IHRoZSBCQiBnYWluIGZvciB0aGUgdW5kZXJs eWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRvbWF0aWNh bGx5IGRpc3RyaWJ1dGUgdGhlIGRlc2lyZWQgZ2FpbiB2YWx1ZSBvdmVyCisrICAgKiBhdmFpbGFi bGUgQkIgZ2FpbiBzdGFnZXMgaW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCByZXR1cm4gdGhlIGFj dHVhbCB2YWx1ZS4KKysgICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCisrICAgKiBccGFy YW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0 dWFsIGdhaW4gaW4gZEIKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgc2V0X2JiX2dhaW4oIGRv dWJsZSBnYWluLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAqIEdldCB0 aGUgYXZhaWxhYmxlIGFudGVubmFzIG9mIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgor KyAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAqIFxyZXR1 cm4gYSB2ZWN0b3Igb2Ygc3RyaW5ncyBjb250YWluaW5nIHRoZSBuYW1lcyBvZiBhdmFpbGFibGUg YW50ZW5uYXMKKysgICAqLworKyAgdmlydHVhbCBzdGQ6OnZlY3Rvcjwgc3RkOjpzdHJpbmcgPiBn ZXRfYW50ZW5uYXMoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgIC8qIQorKyAgICogU2Vs ZWN0IHRoZSBhY3RpdmUgYW50ZW5uYSBvZiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4K KysgICAqIFxwYXJhbSBhbnRlbm5hIG5hbWUgb2YgdGhlIGFudGVubmEgdG8gYmUgc2VsZWN0ZWQK KysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgKiBccmV0 dXJuIHRoZSBhY3R1YWwgYW50ZW5uYSdzIG5hbWUKKysgICAqLworKyAgdmlydHVhbCBzdGQ6OnN0 cmluZyBzZXRfYW50ZW5uYSggY29uc3Qgc3RkOjpzdHJpbmcgJiBhbnRlbm5hLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAg LyohCisrICAgKiBHZXQgdGhlIGFjdHVhbCB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlIGFudGVu bmEgc2V0dGluZy4KKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0x CisrICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgYW50ZW5uYSdzIG5hbWUKKysgICAqLworKyAgdmly dHVhbCBzdGQ6OnN0cmluZyBnZXRfYW50ZW5uYSggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKwor KyAgLyohCisrICAgKiBTZXQgdGhlIFRYIGZyb250ZW5kIERDIG9mZnNldCB2YWx1ZS4KKysgICAq IFRoZSB2YWx1ZSBpcyBjb21wbGV4IHRvIGNvbnRyb2wgYm90aCBJIGFuZCBRLgorKyAgICoKKysg ICAqIFxwYXJhbSBvZmZzZXQgdGhlIGRjIG9mZnNldCAoMS4wIGlzIGZ1bGwtc2NhbGUpCisrICAg KiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICovCisrICB2aXJ0 dWFsIHZvaWQgc2V0X2RjX29mZnNldCggY29uc3Qgc3RkOjpjb21wbGV4PGRvdWJsZT4gJm9mZnNl dCwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAgKiBTZXQgdGhlIFRYIGZy b250ZW5kIElRIGJhbGFuY2UgY29ycmVjdGlvbi4KKysgICAqIFVzZSB0aGlzIHRvIGFkanVzdCB0 aGUgbWFnbml0dWRlIGFuZCBwaGFzZSBvZiBJIGFuZCBRLgorKyAgICoKKysgICAqIFxwYXJhbSBi YWxhbmNlIHRoZSBjb21wbGV4IGNvcnJlY3Rpb24gdmFsdWUKKysgICAqIFxwYXJhbSBjaGFuIHRo ZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgKi8KKysgIHZpcnR1YWwgdm9pZCBzZXRfaXFf YmFsYW5jZSggY29uc3Qgc3RkOjpjb21wbGV4PGRvdWJsZT4gJmJhbGFuY2UsIHNpemVfdCBjaGFu ID0gMCApID0gMDsKKysKKysgIC8qIQorKyAgICogU2V0IHRoZSBiYW5kcGFzcyBmaWx0ZXIgb24g dGhlIHJhZGlvIGZyb250ZW5kLgorKyAgICogXHBhcmFtIGJhbmR3aWR0aCB0aGUgZmlsdGVyIGJh bmR3aWR0aCBpbiBIeiwgc2V0IHRvIDAgZm9yIGF1dG9tYXRpYyBzZWxlY3Rpb24KKysgICAqIFxw YXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgKiBccmV0dXJuIHRoZSBh Y3R1YWwgZmlsdGVyIGJhbmR3aWR0aCBpbiBIegorKyAgICovCisrICB2aXJ0dWFsIGRvdWJsZSBz ZXRfYmFuZHdpZHRoKCBkb3VibGUgYmFuZHdpZHRoLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7Cisr CisrICAvKiEKKysgICAqIEdldCB0aGUgYWN0dWFsIGJhbmRwYXNzIGZpbHRlciBzZXR0aW5nIG9u IHRoZSByYWRpbyBmcm9udGVuZC4KKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4 IDAgdG8gTi0xCisrICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZmlsdGVyIGJhbmR3aWR0aCBpbiBI egorKyAgICovCisrICB2aXJ0dWFsIGRvdWJsZSBnZXRfYmFuZHdpZHRoKCBzaXplX3QgY2hhbiA9 IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAqIEdldCB0aGUgcG9zc2libGUgYmFuZHBhc3MgZmls dGVyIHNldHRpbmdzIG9uIHRoZSByYWRpbyBmcm9udGVuZC4KKysgICAqIFxwYXJhbSBjaGFuIHRo ZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgKiBccmV0dXJuIGEgcmFuZ2Ugb2YgYmFuZHdp ZHRocyBpbiBIegorKyAgICovCisrICB2aXJ0dWFsIG9zbW9zZHI6OmZyZXFfcmFuZ2VfdCBnZXRf YmFuZHdpZHRoX3JhbmdlKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAq IFNldCB0aGUgdGltZSBzb3VyY2UgZm9yIHRoZSBkZXZpY2UuCisrICAgKiBUaGlzIHNldHMgdGhl IG1ldGhvZCBvZiB0aW1lIHN5bmNocm9uaXphdGlvbiwKKysgICAqIHR5cGljYWxseSBhIHB1bHNl IHBlciBzZWNvbmQgb3IgYW4gZW5jb2RlZCB0aW1lLgorKyAgICogVHlwaWNhbCBvcHRpb25zIGZv ciBzb3VyY2U6IGV4dGVybmFsLCBNSU1PLgorKyAgICogXHBhcmFtIHNvdXJjZSBhIHN0cmluZyBy ZXByZXNlbnRpbmcgdGhlIHRpbWUgc291cmNlCisrICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1v dGhlcmJvYXJkIHRvIHNldCB0aGUgY29uZmlnCisrICAgKi8KKysgIHZpcnR1YWwgdm9pZCBzZXRf dGltZV9zb3VyY2UoY29uc3Qgc3RkOjpzdHJpbmcgJnNvdXJjZSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKysKKysgIC8qIQor KyAgICogR2V0IHRoZSBjdXJyZW50bHkgc2V0IHRpbWUgc291cmNlLgorKyAgICogXHBhcmFtIG1i b2FyZCB3aGljaCBtb3RoZXJib2FyZCB0byBnZXQgdGhlIGNvbmZpZworKyAgICogXHJldHVybiB0 aGUgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgdGltZSBzb3VyY2UKKysgICAqLworKyAgdmlydHVh bCBzdGQ6OnN0cmluZyBnZXRfdGltZV9zb3VyY2UoY29uc3Qgc2l6ZV90IG1ib2FyZCkgPSAwOwor KworKyAgLyohCisrICAgKiBHZXQgYSBsaXN0IG9mIHBvc3NpYmxlIHRpbWUgc291cmNlcy4KKysg ICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBsaXN0CisrICAg KiBccmV0dXJuIGEgdmVjdG9yIG9mIHN0cmluZ3MgZm9yIHBvc3NpYmxlIHNldHRpbmdzCisrICAg Ki8KKysgIHZpcnR1YWwgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGdldF90aW1lX3NvdXJjZXMo Y29uc3Qgc2l6ZV90IG1ib2FyZCkgPSAwOworKworKyAgLyohCisrICAgKiBTZXQgdGhlIGNsb2Nr IHNvdXJjZSBmb3IgdGhlIGRldmljZS4KKysgICAqIFRoaXMgc2V0cyB0aGUgc291cmNlIGZvciBh IDEwIE1oeiByZWZlcmVuY2UgY2xvY2suCisrICAgKiBUeXBpY2FsIG9wdGlvbnMgZm9yIHNvdXJj ZTogaW50ZXJuYWwsIGV4dGVybmFsLCBNSU1PLgorKyAgICogXHBhcmFtIHNvdXJjZSBhIHN0cmlu ZyByZXByZXNlbnRpbmcgdGhlIGNsb2NrIHNvdXJjZQorKyAgICogXHBhcmFtIG1ib2FyZCB3aGlj aCBtb3RoZXJib2FyZCB0byBzZXQgdGhlIGNvbmZpZworKyAgICovCisrICB2aXJ0dWFsIHZvaWQg c2V0X2Nsb2NrX3NvdXJjZShjb25zdCBzdGQ6OnN0cmluZyAmc291cmNlLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKysKKysg IC8qIQorKyAgICogR2V0IHRoZSBjdXJyZW50bHkgc2V0IGNsb2NrIHNvdXJjZS4KKysgICAqIFxw YXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBjb25maWcKKysgICAqIFxy ZXR1cm4gdGhlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGNsb2NrIHNvdXJjZQorKyAgICovCisr ICB2aXJ0dWFsIHN0ZDo6c3RyaW5nIGdldF9jbG9ja19zb3VyY2UoY29uc3Qgc2l6ZV90IG1ib2Fy ZCkgPSAwOworKworKyAgLyohCisrICAgKiBHZXQgYSBsaXN0IG9mIHBvc3NpYmxlIGNsb2NrIHNv dXJjZXMuCisrICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJkIHRvIGdldCB0aGUg bGlzdAorKyAgICogXHJldHVybiBhIHZlY3RvciBvZiBzdHJpbmdzIGZvciBwb3NzaWJsZSBzZXR0 aW5ncworKyAgICovCisrICB2aXJ0dWFsIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBnZXRfY2xv Y2tfc291cmNlcyhjb25zdCBzaXplX3QgbWJvYXJkKSA9IDA7CisrCisrICAvKiEKKysgICAqIEdl dCB0aGUgbWFzdGVyIGNsb2NrIHJhdGUuCisrICAgKiBccGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJi b2FyZCBpbmRleCAwIHRvIE0tMQorKyAgICogXHJldHVybiB0aGUgY2xvY2sgcmF0ZSBpbiBIegor KyAgICovCisrICB2aXJ0dWFsIGRvdWJsZSBnZXRfY2xvY2tfcmF0ZShzaXplX3QgbWJvYXJkID0g MCkgPSAwOworKworKyAgLyohCisrICAgKiBTZXQgdGhlIG1hc3RlciBjbG9jayByYXRlLgorKyAg ICogXHBhcmFtIHJhdGUgdGhlIG5ldyByYXRlIGluIEh6CisrICAgKiBccGFyYW0gbWJvYXJkIHRo ZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQorKyAgICovCisrICB2aXJ0dWFsIHZvaWQgc2V0 X2Nsb2NrX3JhdGUoZG91YmxlIHJhdGUsIHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7CisrCisrICAv KiEKKysgICAqIEdldCB0aGUgY3VycmVudCB0aW1lIHJlZ2lzdGVycy4KKysgICAqIFxwYXJhbSBt Ym9hcmQgdGhlIG1vdGhlcmJvYXJkIGluZGV4IDAgdG8gTS0xCisrICAgKiBccmV0dXJuIHRoZSBj dXJyZW50IGRldmljZSB0aW1lCisrICAgKi8KKysgIHZpcnR1YWwgOjpvc21vc2RyOjp0aW1lX3Nw ZWNfdCBnZXRfdGltZV9ub3coc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKysKKysgIC8qIQorKyAg ICogR2V0IHRoZSB0aW1lIHdoZW4gdGhlIGxhc3QgcHBzIHB1bHNlIG9jY3VyZWQuCisrICAgKiBc cGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQorKyAgICogXHJldHVy biB0aGUgY3VycmVudCBkZXZpY2UgdGltZQorKyAgICovCisrICB2aXJ0dWFsIDo6b3Ntb3Nkcjo6 dGltZV9zcGVjX3QgZ2V0X3RpbWVfbGFzdF9wcHMoc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKysK KysgIC8qIQorKyAgICogU2V0cyB0aGUgdGltZSByZWdpc3RlcnMgaW1tZWRpYXRlbHkuCisrICAg KiBccGFyYW0gdGltZV9zcGVjIHRoZSBuZXcgdGltZQorKyAgICogXHBhcmFtIG1ib2FyZCB0aGUg bW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKysgICAqLworKyAgdmlydHVhbCB2b2lkIHNldF90 aW1lX25vdyhjb25zdCA6Om9zbW9zZHI6OnRpbWVfc3BlY190ICZ0aW1lX3NwZWMsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7CisrCisrICAvKiEK KysgICAqIFNldCB0aGUgdGltZSByZWdpc3RlcnMgYXQgdGhlIG5leHQgcHBzLgorKyAgICogXHBh cmFtIHRpbWVfc3BlYyB0aGUgbmV3IHRpbWUKKysgICAqLworKyAgdmlydHVhbCB2b2lkIHNldF90 aW1lX25leHRfcHBzKGNvbnN0IDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgJnRpbWVfc3BlYykgPSAw OworKworKyAgLyohCisrICAgKiBTeW5jIHRoZSB0aW1lIHJlZ2lzdGVycyB3aXRoIGFuIHVua25v d24gcHBzIGVkZ2UuCisrICAgKiBccGFyYW0gdGltZV9zcGVjIHRoZSBuZXcgdGltZQorKyAgICov CisrICB2aXJ0dWFsIHZvaWQgc2V0X3RpbWVfdW5rbm93bl9wcHMoY29uc3QgOjpvc21vc2RyOjp0 aW1lX3NwZWNfdCAmdGltZV9zcGVjKSA9IDA7CisgfTsKKyAKKy19IC8vIG5hbWVzcGFjZSBvc21v c2RyCisrfSAvKiBuYW1lc3BhY2Ugb3Ntb3NkciAqLworIAorICNlbmRpZiAvKiBJTkNMVURFRF9P U01PU0RSX1NJTktfSCAqLworLQorZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3Ntb3Nkci9zb3VyY2Uu aCBiL2luY2x1ZGUvb3Ntb3Nkci9zb3VyY2UuaAoraW5kZXggYzgzYzJmZC4uODhmODM4NSAxMDA2 NDQKKy0tLSBpbmNsdWRlL29zbW9zZHIvc291cmNlLmgKKysrKyBpbmNsdWRlL29zbW9zZHIvc291 cmNlLmgKK0BAIC0xLDIzICsxLDIyIEBACisgLyogLSotIGMrKyAtKi0gKi8KKyAvKgorLSAqIENv cHlyaWdodCAyMDE5IGdyLW9zbW9zZHIgYXV0aG9yLgorKyAqIENvcHlyaWdodCAyMDEyIERpbWl0 cmkgU3RvbG5pa292IDxob3JpejBuQGdteC5uZXQ+CisgICoKKy0gKiBUaGlzIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgKiBHTlUgUmFk aW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CisgICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorICAqIGFueSBsYXRlciB2ZXJzaW9u LgorICAqCistICogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAqIEdOVSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgICoKKyAgKiBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorLSAqIGFsb25nIHdpdGggdGhpcyBzb2Z0d2FyZTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu ICBJZiBub3QsIHdyaXRlIHRvCisrICogYWxvbmcgd2l0aCBHTlUgUmFkaW87IHNlZSB0aGUgZmls ZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworICAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwKKyAgKiBCb3N0b24sIE1BIDAyMTEwLTEz MDEsIFVTQS4KKyAgKi8KKy0KKyAjaWZuZGVmIElOQ0xVREVEX09TTU9TRFJfU09VUkNFX0gKKyAj ZGVmaW5lIElOQ0xVREVEX09TTU9TRFJfU09VUkNFX0gKKyAKK0BAIC0zMCwxNyArMjksMTggQEAg bmFtZXNwYWNlIG9zbW9zZHIgeworIAorIGNsYXNzIHNvdXJjZTsKKyAKKy0gICAgLyohCistICog XGJyaWVmIDwrZGVzY3JpcHRpb24gb2YgYmxvY2srPgorLSAqIFxpbmdyb3VwIG9zbW9zZHIKKysv KiEKKysgKiBcYnJpZWYgUHJvdmlkZXMgYSBzdHJlYW0gb2YgY29tcGxleCBzYW1wbGVzLgorKyAq IFxpbmdyb3VwIGJsb2NrCisgICoKKysgKiBUaGlzIHVzZXMgdGhlIHByZWZlcnJlZCB0ZWNobmlx dWU6IHN1YmNsYXNzaW5nIGdyOjpoaWVyX2Jsb2NrMi4KKyAgKi8KKyBjbGFzcyBPU01PU0RSX0FQ SSBzb3VyY2UgOiB2aXJ0dWFsIHB1YmxpYyBncjo6aGllcl9ibG9jazIKKyB7CistIHB1YmxpYzoK Ky0gIHR5cGVkZWYgYm9vc3Q6OnNoYXJlZF9wdHI8c291cmNlPiBzcHRyOworK3B1YmxpYzoKKysg IHR5cGVkZWYgYm9vc3Q6OnNoYXJlZF9wdHI8IHNvdXJjZSA+IHNwdHI7CisgCistLyohCisrICAv KiEKKyAgICAqIFxicmllZiBSZXR1cm4gYSBzaGFyZWRfcHRyIHRvIGEgbmV3IGluc3RhbmNlIG9m IHNvdXJjZS4KKyAgICAqCisgICAgKiBUbyBhdm9pZCBhY2NpZGVudGFsIHVzZSBvZiByYXcgcG9p bnRlcnMsIHNvdXJjZSdzCitAQCAtNTAsMzc0ICs1MCwzNzMgQEAgY2xhc3MgT1NNT1NEUl9BUEkg c291cmNlIDogdmlydHVhbCBwdWJsaWMgZ3I6OmhpZXJfYmxvY2syCisgICAgKiBccGFyYW0gYXJn cyB0aGUgYWRkcmVzcyB0byBpZGVudGlmeSB0aGUgaGFyZHdhcmUKKyAgICAqIFxyZXR1cm4gYSBu ZXcgb3Ntb3NkciBzb3VyY2UgYmxvY2sgb2JqZWN0CisgICAgKi8KKy0gICAgc3RhdGljIHNwdHIg bWFrZSggY29uc3Qgc3RkOjpzdHJpbmcgJiBhcmdzID0gIiIgKTsKKy0KKy0gICAgLyohCistICAg ICAqIEdldCB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3 YXJlIG9mZmVycy4KKy0gICAgICogXHJldHVybiB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBjaGFu bmVscworLSAgICAgKi8KKy0gICAgdmlydHVhbCBzaXplX3QgZ2V0X251bV9jaGFubmVscyggdm9p ZCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFxicmllZiBzZWVrIGZpbGUgdG8gXHAgc2Vl a19wb2ludCByZWxhdGl2ZSB0byBccCB3aGVuY2UKKy0gICAgICoKKy0gICAgICogXHBhcmFtIHNl ZWtfcG9pbnQJc2FtcGxlIG9mZnNldCBpbiBmaWxlCistICAgICAqIFxwYXJhbSB3aGVuY2UJb25l IG9mIFNFRUtfU0VULCBTRUVLX0NVUiwgU0VFS19FTkQgKG1hbiBmc2VlaykKKy0gICAgICogXHJl dHVybiB0cnVlIG9uIHN1Y2Nlc3MKKy0gICAgICovCistICAgIHZpcnR1YWwgYm9vbCBzZWVrKCBs b25nIHNlZWtfcG9pbnQsIGludCB3aGVuY2UsIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0g ICAgLyohCistICAgICAqIEdldCB0aGUgcG9zc2libGUgc2FtcGxlIHJhdGVzIGZvciB0aGUgdW5k ZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAgICogXHJldHVybiBhIHJhbmdlIG9mIHJhdGVz IGluIFNwcworLSAgICAgKi8KKy0gICAgdmlydHVhbCBvc21vc2RyOjptZXRhX3JhbmdlX3QgZ2V0 X3NhbXBsZV9yYXRlcyggdm9pZCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFNldCB0aGUg c2FtcGxlIHJhdGUgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorLSAgICAgKiBU aGlzIGFsc28gd2lsbCBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIElGIGJhbmRwYXNzLCBpZiBhcHBs aWNhYmxlLgorLSAgICAgKiBccGFyYW0gcmF0ZSBhIG5ldyByYXRlIGluIFNwcworLSAgICAgKi8K Ky0gICAgdmlydHVhbCBkb3VibGUgc2V0X3NhbXBsZV9yYXRlKCBkb3VibGUgcmF0ZSApID0gMDsK Ky0KKy0gICAgLyohCistICAgICAqIEdldCB0aGUgc2FtcGxlIHJhdGUgZm9yIHRoZSB1bmRlcmx5 aW5nIHJhZGlvIGhhcmR3YXJlLgorLSAgICAgKiBUaGlzIGlzIHRoZSBhY3R1YWwgc2FtcGxlIHJh dGUgYW5kIG1heSBkaWZmZXIgZnJvbSB0aGUgcmF0ZSBzZXQuCistICAgICAqIFxyZXR1cm4gdGhl IGFjdHVhbCByYXRlIGluIFNwcworLSAgICAgKi8KKy0gICAgdmlydHVhbCBkb3VibGUgZ2V0X3Nh bXBsZV9yYXRlKCB2b2lkICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogR2V0IHRoZSB0dW5h YmxlIGZyZXF1ZW5jeSByYW5nZSBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCist ICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxy ZXR1cm4gdGhlIGZyZXF1ZW5jeSByYW5nZSBpbiBIegorLSAgICAgKi8KKy0gICAgdmlydHVhbCBv c21vc2RyOjpmcmVxX3JhbmdlX3QgZ2V0X2ZyZXFfcmFuZ2UoIHNpemVfdCBjaGFuID0gMCApID0g MDsKKy0KKy0gICAgLyohCistICAgICAqIFR1bmUgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdh cmUgdG8gdGhlIGRlc2lyZWQgY2VudGVyIGZyZXF1ZW5jeS4KKy0gICAgICogVGhpcyBhbHNvIHdp bGwgc2VsZWN0IHRoZSBhcHByb3ByaWF0ZSBSRiBiYW5kcGFzcy4KKy0gICAgICogXHBhcmFtIGZy ZXEgdGhlIGRlc2lyZWQgZnJlcXVlbmN5IGluIEh6CistICAgICAqIFxwYXJhbSBjaGFuIHRoZSBj aGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBmcmVxdWVu Y3kgaW4gSHoKKy0gICAgICovCistICAgIHZpcnR1YWwgZG91YmxlIHNldF9jZW50ZXJfZnJlcSgg ZG91YmxlIGZyZXEsIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAq IEdldCB0aGUgY2VudGVyIGZyZXF1ZW5jeSB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZSBp cyB0dW5lZCB0by4KKy0gICAgICogVGhpcyBpcyB0aGUgYWN0dWFsIGZyZXF1ZW5jeSBhbmQgbWF5 IGRpZmZlciBmcm9tIHRoZSBmcmVxdWVuY3kgc2V0LgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUg Y2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBccmV0dXJuIHRoZSBmcmVxdWVuY3kgaW4g SHoKKy0gICAgICovCistICAgIHZpcnR1YWwgZG91YmxlIGdldF9jZW50ZXJfZnJlcSggc2l6ZV90 IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogU2V0IHRoZSBmcmVxdWVuY3kg Y29ycmVjdGlvbiB2YWx1ZSBpbiBwYXJ0cyBwZXIgbWlsbGlvbi4KKy0gICAgICogXHBhcmFtIHBw bSB0aGUgZGVzaXJlZCBjb3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCistICAg ICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1 cm4gY29ycmVjdGlvbiB2YWx1ZSBpbiBwYXJ0cyBwZXIgbWlsbGlvbgorLSAgICAgKi8KKy0gICAg dmlydHVhbCBkb3VibGUgc2V0X2ZyZXFfY29yciggZG91YmxlIHBwbSwgc2l6ZV90IGNoYW4gPSAw ICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogR2V0IHRoZSBmcmVxdWVuY3kgY29ycmVjdGlv biB2YWx1ZS4KKy0gICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEK Ky0gICAgICogXHJldHVybiBjb3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCist ICAgICAqLworLSAgICB2aXJ0dWFsIGRvdWJsZSBnZXRfZnJlcV9jb3JyKCBzaXplX3QgY2hhbiA9 IDAgKSA9IDA7CistCistICAgIC8qIQorLSAgICAgKiBHZXQgdGhlIGdhaW4gc3RhZ2UgbmFtZXMg b2YgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAgICAqIFxwYXJhbSBjaGFuIHRo ZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4gYSB2ZWN0b3Igb2Ygc3Ry aW5ncyBjb250YWluaW5nIHRoZSBuYW1lcyBvZiBnYWluIHN0YWdlcworLSAgICAgKi8KKy0gICAg dmlydHVhbCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gZ2V0X2dhaW5fbmFtZXMoIHNpemVfdCBj aGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIEdldCB0aGUgc2V0dGFibGUgb3Zl cmFsbCBnYWluIHJhbmdlIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0gICAg ICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICogXHJldHVy biB0aGUgZ2FpbiByYW5nZSBpbiBkQgorLSAgICAgKi8KKy0gICAgdmlydHVhbCBvc21vc2RyOjpn YWluX3JhbmdlX3QgZ2V0X2dhaW5fcmFuZ2UoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0g ICAgLyohCistICAgICAqIEdldCB0aGUgc2V0dGFibGUgZ2FpbiByYW5nZSBmb3IgYSBzcGVjaWZp YyBnYWluIHN0YWdlLgorLSAgICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZ2FpbiBz dGFnZQorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAg ICAgKiBccmV0dXJuIHRoZSBnYWluIHJhbmdlIGluIGRCCistICAgICAqLworLSAgICB2aXJ0dWFs IG9zbW9zZHI6OmdhaW5fcmFuZ2VfdCBnZXRfZ2Fpbl9yYW5nZSggY29uc3Qgc3RkOjpzdHJpbmcg JiBuYW1lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogU2V0IHRoZSBn YWluIG1vZGUgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorLSAgICAgKiBUaGlz IG1pZ2h0IGJlIHN1cHBvcnRlZCBvbmx5IGZvciBjZXJ0YWluIGhhcmR3YXJlIHR5cGVzLgorLSAg ICAgKiBccGFyYW0gYXV0b21hdGljIHRoZSBnYWluIG1vZGUgKHRydWUgbWVhbnMgYXV0b21hdGlj IGdhaW4gbW9kZSkKKy0gICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBO LTEKKy0gICAgICogXHJldHVybiB0aGUgYWN0dWFsIGdhaW4gbW9kZQorLSAgICAgKi8KKy0gICAg dmlydHVhbCBib29sIHNldF9nYWluX21vZGUoIGJvb2wgYXV0b21hdGljLCBzaXplX3QgY2hhbiA9 IDAgKSA9IDA7CistCistICAgIC8qIQorLSAgICAgKiBHZXQgdGhlIGdhaW4gbW9kZSBzZWxlY3Rl ZCBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCistICAgICAqIFxwYXJhbSBjaGFu IHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBn YWluIG1vZGUgKHRydWUgbWVhbnMgYXV0b21hdGljIGdhaW4gbW9kZSkKKy0gICAgICovCistICAg IHZpcnR1YWwgYm9vbCBnZXRfZ2Fpbl9tb2RlKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCist ICAgIC8qIQorLSAgICAgKiBTZXQgdGhlIGdhaW4gZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhh cmR3YXJlLgorLSAgICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYXV0b21hdGljYWxseSBkaXN0cmli dXRlIHRoZSBkZXNpcmVkIGdhaW4gdmFsdWUgb3ZlcgorLSAgICAgKiBhdmFpbGFibGUgZ2FpbiBz dGFnZXMgaW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCByZXR1cm4gdGhlIGFjdHVhbCB2YWx1ZS4K Ky0gICAgICogXHBhcmFtIGdhaW4gdGhlIGdhaW4gaW4gZEIKKy0gICAgICogXHBhcmFtIGNoYW4g dGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICogXHJldHVybiB0aGUgYWN0dWFsIGdh aW4gaW4gZEIKKy0gICAgICovCistICAgIHZpcnR1YWwgZG91YmxlIHNldF9nYWluKCBkb3VibGUg Z2Fpbiwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogU2V0IHRo ZSBuYW1lZCBnYWluIG9uIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3YXJlLgorLSAgICAgKiBc cGFyYW0gZ2FpbiB0aGUgZ2FpbiBpbiBkQgorLSAgICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBv ZiB0aGUgZ2FpbiBzdGFnZQorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAw IHRvIE4tMQorLSAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorLSAgICAgKi8K Ky0gICAgdmlydHVhbCBkb3VibGUgc2V0X2dhaW4oIGRvdWJsZSBnYWluLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJiBuYW1lLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0g ICAgICogR2V0IHRoZSBhY3R1YWwgZ2FpbiBzZXR0aW5nIG9mIHRoZSB1bmRlcmx5aW5nIHJhZGlv IGhhcmR3YXJlLgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4t MQorLSAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorLSAgICAgKi8KKy0gICAg dmlydHVhbCBkb3VibGUgZ2V0X2dhaW4oIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAg LyohCistICAgICAqIEdldCB0aGUgYWN0dWFsIGdhaW4gc2V0dGluZyBvZiBhIG5hbWVkIHN0YWdl LgorLSAgICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZ2FpbiBzdGFnZQorLSAgICAg KiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBccmV0dXJu IHRoZSBhY3R1YWwgZ2FpbiBpbiBkQgorLSAgICAgKi8KKy0gICAgdmlydHVhbCBkb3VibGUgZ2V0 X2dhaW4oIGNvbnN0IHN0ZDo6c3RyaW5nICYgbmFtZSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOwor LQorLSAgICAvKiEKKy0gICAgICogU2V0IHRoZSBJRiBnYWluIGZvciB0aGUgdW5kZXJseWluZyBy YWRpbyBoYXJkd2FyZS4KKy0gICAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkg ZGlzdHJpYnV0ZSB0aGUgZGVzaXJlZCBnYWluIHZhbHVlIG92ZXIKKy0gICAgICogYXZhaWxhYmxl IElGIGdhaW4gc3RhZ2VzIGluIGFuIGFwcHJvcHJpYXRlIHdheSBhbmQgcmV0dXJuIHRoZSBhY3R1 YWwgdmFsdWUuCistICAgICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCistICAgICAqIFxw YXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqIFxyZXR1cm4gdGhl IGFjdHVhbCBnYWluIGluIGRCCistICAgICAqLworLSAgICB2aXJ0dWFsIGRvdWJsZSBzZXRfaWZf Z2FpbiggZG91YmxlIGdhaW4sIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCist ICAgICAqIFNldCB0aGUgQkIgZ2FpbiBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUu CistICAgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRvbWF0aWNhbGx5IGRpc3RyaWJ1dGUgdGhl IGRlc2lyZWQgZ2FpbiB2YWx1ZSBvdmVyCistICAgICAqIGF2YWlsYWJsZSBCQiBnYWluIHN0YWdl cyBpbiBhbiBhcHByb3ByaWF0ZSB3YXkgYW5kIHJldHVybiB0aGUgYWN0dWFsIHZhbHVlLgorLSAg ICAgKiBccGFyYW0gZ2FpbiB0aGUgZ2FpbiBpbiBkQgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUg Y2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZ2FpbiBp biBkQgorLSAgICAgKi8KKy0gICAgdmlydHVhbCBkb3VibGUgc2V0X2JiX2dhaW4oIGRvdWJsZSBn YWluLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CistCistICAgIC8qIQorLSAgICAgKiBHZXQgdGhl IGF2YWlsYWJsZSBhbnRlbm5hcyBvZiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKy0g ICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKy0gICAgICogXHJl dHVybiBhIHZlY3RvciBvZiBzdHJpbmdzIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIGF2YWlsYWJs ZSBhbnRlbm5hcworLSAgICAgKi8KKy0gICAgdmlydHVhbCBzdGQ6OnZlY3Rvcjwgc3RkOjpzdHJp bmcgPiBnZXRfYW50ZW5uYXMoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCist ICAgICAqIFNlbGVjdCB0aGUgYWN0aXZlIGFudGVubmEgb2YgdGhlIHVuZGVybHlpbmcgcmFkaW8g aGFyZHdhcmUuCistICAgICAqIFxwYXJhbSBhbnRlbm5hIG5hbWUgb2YgdGhlIGFudGVubmEgdG8g YmUgc2VsZWN0ZWQKKy0gICAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBO LTEKKy0gICAgICogXHJldHVybiB0aGUgYWN0dWFsIGFudGVubmEncyBuYW1lCistICAgICAqLwor LSAgICB2aXJ0dWFsIHN0ZDo6c3RyaW5nIHNldF9hbnRlbm5hKCBjb25zdCBzdGQ6OnN0cmluZyAm IGFudGVubmEsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBj aGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIEdldCB0aGUgYWN0dWFsIHVuZGVy bHlpbmcgcmFkaW8gaGFyZHdhcmUgYW50ZW5uYSBzZXR0aW5nLgorLSAgICAgKiBccGFyYW0gY2hh biB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwg YW50ZW5uYSdzIG5hbWUKKy0gICAgICovCistICAgIHZpcnR1YWwgc3RkOjpzdHJpbmcgZ2V0X2Fu dGVubmEoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgZW51bSBEQ09mZnNldE1vZGUg eworLSAgICAgICAgRENPZmZzZXRPZmYgPSAwLAorLSAgICAgICAgRENPZmZzZXRNYW51YWwsCist ICAgICAgICBEQ09mZnNldEF1dG9tYXRpYworLSAgICB9OworLQorLSAgICAvKiEKKy0gICAgICog U2V0IHRoZSBSWCBmcm9udGVuZCBEQyBjb3JyZWN0aW9uIG1vZGUuCistICAgICAqIFRoZSBhdXRv bWF0aWMgY29ycmVjdGlvbiBzdWJ0cmFjdHMgb3V0IHRoZSBsb25nLXJ1biBhdmVyYWdlLgorLSAg ICAgKgorLSAgICAgKiBXaGVuIGRpc2FibGVkLCB0aGUgYXZlcmFnaW5nIG9wdGlvbiBvcGVyYXRp b24gaXMgcmVzZXQuCistICAgICAqIE9uY2UgaW4gTWFudWFsIG1vZGUsIHRoZSBhdmVyYWdlIHZh bHVlIHdpbGwgYmUgaGVsZCBjb25zdGFudCB1bnRpbAorLSAgICAgKiB0aGUgdXNlciByZS1lbmFi bGVzIHRoZSBhdXRvbWF0aWMgY29ycmVjdGlvbiBvciBvdmVycmlkZXMgdGhlCistICAgICAqIHZh bHVlIGJ5IG1hbnVhbGx5IHNldHRpbmcgdGhlIG9mZnNldC4KKy0gICAgICoKKy0gICAgICogXHBh cmFtIG1vZGUgZGMgb2Zmc2V0IGNvcnJlY3Rpb24gbW9kZTogMCA9IE9mZiwgMSA9IE1hbnVhbCwg MiA9IEF1dG9tYXRpYworLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRv IE4tMQorLSAgICAgKi8KKy0gICAgdmlydHVhbCB2b2lkIHNldF9kY19vZmZzZXRfbW9kZSggaW50 IG1vZGUsIHNpemVfdCBjaGFuID0gMCkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogU2V0IHRo ZSBSWCBmcm9udGVuZCBEQyBvZmZzZXQgdmFsdWUuCistICAgICAqIFRoZSB2YWx1ZSBpcyBjb21w bGV4IHRvIGNvbnRyb2wgYm90aCBJIGFuZCBRLgorLSAgICAgKiBPbmx5IHNldCB0aGlzIHdoZW4g YXV0b21hdGljIGNvcnJlY3Rpb24gaXMgZGlzYWJsZWQuCistICAgICAqCistICAgICAqIFxwYXJh bSBvZmZzZXQgdGhlIGRjIG9mZnNldCAoMS4wIGlzIGZ1bGwtc2NhbGUpCistICAgICAqIFxwYXJh bSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCistICAgICAqLworLSAgICB2aXJ0dWFs IHZvaWQgc2V0X2RjX29mZnNldCggY29uc3Qgc3RkOjpjb21wbGV4PGRvdWJsZT4gJm9mZnNldCwg c2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICBlbnVtIElRQmFsYW5jZU1vZGUgeworLSAg ICAgICAgSVFCYWxhbmNlT2ZmID0gMCwKKy0gICAgICAgIElRQmFsYW5jZU1hbnVhbCwKKy0gICAg ICAgIElRQmFsYW5jZUF1dG9tYXRpYworLSAgICB9OworLQorLSAgICAvKiEKKy0gICAgICogU2V0 IHRoZSBSWCBmcm9udGVuZCBJUSBiYWxhbmNlIG1vZGUuCistICAgICAqCistICAgICAqIFxwYXJh bSBtb2RlIGlxIGJhbGFuY2UgY29ycmVjdGlvbiBtb2RlOiAwID0gT2ZmLCAxID0gTWFudWFsLCAy ID0gQXV0b21hdGljCistICAgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8g Ti0xCistICAgICAqLworLSAgICB2aXJ0dWFsIHZvaWQgc2V0X2lxX2JhbGFuY2VfbW9kZSggaW50 IG1vZGUsIHNpemVfdCBjaGFuID0gMCApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFNldCB0 aGUgUlggZnJvbnRlbmQgSVEgYmFsYW5jZSBjb3JyZWN0aW9uLgorLSAgICAgKiBVc2UgdGhpcyB0 byBhZGp1c3QgdGhlIG1hZ25pdHVkZSBhbmQgcGhhc2Ugb2YgSSBhbmQgUS4KKy0gICAgICoKKy0g ICAgICogXHBhcmFtIGJhbGFuY2UgdGhlIGNvbXBsZXggY29ycmVjdGlvbiB2YWx1ZQorLSAgICAg KiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAgKi8KKy0gICAg dmlydHVhbCB2b2lkIHNldF9pcV9iYWxhbmNlKCBjb25zdCBzdGQ6OmNvbXBsZXg8ZG91YmxlPiAm YmFsYW5jZSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogU2V0 IHRoZSBiYW5kcGFzcyBmaWx0ZXIgb24gdGhlIHJhZGlvIGZyb250ZW5kLgorLSAgICAgKiBccGFy YW0gYmFuZHdpZHRoIHRoZSBmaWx0ZXIgYmFuZHdpZHRoIGluIEh6LCBzZXQgdG8gMCBmb3IgYXV0 b21hdGljIHNlbGVjdGlvbgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAw IHRvIE4tMQorLSAgICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgZmlsdGVyIGJhbmR3aWR0aCBpbiBI egorLSAgICAgKi8KKy0gICAgdmlydHVhbCBkb3VibGUgc2V0X2JhbmR3aWR0aCggZG91YmxlIGJh bmR3aWR0aCwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogR2V0 IHRoZSBhY3R1YWwgYmFuZHBhc3MgZmlsdGVyIHNldHRpbmcgb24gdGhlIHJhZGlvIGZyb250ZW5k LgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAg KiBccmV0dXJuIHRoZSBhY3R1YWwgZmlsdGVyIGJhbmR3aWR0aCBpbiBIegorLSAgICAgKi8KKy0g ICAgdmlydHVhbCBkb3VibGUgZ2V0X2JhbmR3aWR0aCggc2l6ZV90IGNoYW4gPSAwICkgPSAwOwor LQorLSAgICAvKiEKKy0gICAgICogR2V0IHRoZSBwb3NzaWJsZSBiYW5kcGFzcyBmaWx0ZXIgc2V0 dGluZ3Mgb24gdGhlIHJhZGlvIGZyb250ZW5kLgorLSAgICAgKiBccGFyYW0gY2hhbiB0aGUgY2hh bm5lbCBpbmRleCAwIHRvIE4tMQorLSAgICAgKiBccmV0dXJuIGEgcmFuZ2Ugb2YgYmFuZHdpZHRo cyBpbiBIegorLSAgICAgKi8KKy0gICAgdmlydHVhbCBvc21vc2RyOjpmcmVxX3JhbmdlX3QgZ2V0 X2JhbmR3aWR0aF9yYW5nZSggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworLQorLSAgICAvKiEKKy0g ICAgICogU2V0IHRoZSB0aW1lIHNvdXJjZSBmb3IgdGhlIGRldmljZS4KKy0gICAgICogVGhpcyBz ZXRzIHRoZSBtZXRob2Qgb2YgdGltZSBzeW5jaHJvbml6YXRpb24sCistICAgICAqIHR5cGljYWxs eSBhIHB1bHNlIHBlciBzZWNvbmQgb3IgYW4gZW5jb2RlZCB0aW1lLgorLSAgICAgKiBUeXBpY2Fs IG9wdGlvbnMgZm9yIHNvdXJjZTogZXh0ZXJuYWwsIE1JTU8uCistICAgICAqIFxwYXJhbSBzb3Vy Y2UgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0aW1lIHNvdXJjZQorLSAgICAgKiBccGFyYW0g bWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJkIHRvIHNldCB0aGUgY29uZmlnCistICAgICAqLworLSAg ICB2aXJ0dWFsIHZvaWQgc2V0X3RpbWVfc291cmNlKGNvbnN0IHN0ZDo6c3RyaW5nICZzb3VyY2Us CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90IG1ib2FyZCA9 IDApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIEdldCB0aGUgY3VycmVudGx5IHNldCB0aW1l IHNvdXJjZS4KKy0gICAgICogXHBhcmFtIG1ib2FyZCB3aGljaCBtb3RoZXJib2FyZCB0byBnZXQg dGhlIGNvbmZpZworLSAgICAgKiBccmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0 aW1lIHNvdXJjZQorLSAgICAgKi8KKy0gICAgdmlydHVhbCBzdGQ6OnN0cmluZyBnZXRfdGltZV9z b3VyY2UoY29uc3Qgc2l6ZV90IG1ib2FyZCkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogR2V0 IGEgbGlzdCBvZiBwb3NzaWJsZSB0aW1lIHNvdXJjZXMuCistICAgICAqIFxwYXJhbSBtYm9hcmQg d2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBsaXN0CistICAgICAqIFxyZXR1cm4gYSB2ZWN0 b3Igb2Ygc3RyaW5ncyBmb3IgcG9zc2libGUgc2V0dGluZ3MKKy0gICAgICovCistICAgIHZpcnR1 YWwgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGdldF90aW1lX3NvdXJjZXMoY29uc3Qgc2l6ZV90 IG1ib2FyZCkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogU2V0IHRoZSBjbG9jayBzb3VyY2Ug Zm9yIHRoZSBkZXZpY2UuCistICAgICAqIFRoaXMgc2V0cyB0aGUgc291cmNlIGZvciBhIDEwIE1o eiByZWZlcmVuY2UgY2xvY2suCistICAgICAqIFR5cGljYWwgb3B0aW9ucyBmb3Igc291cmNlOiBp bnRlcm5hbCwgZXh0ZXJuYWwsIE1JTU8uCistICAgICAqIFxwYXJhbSBzb3VyY2UgYSBzdHJpbmcg cmVwcmVzZW50aW5nIHRoZSBjbG9jayBzb3VyY2UKKy0gICAgICogXHBhcmFtIG1ib2FyZCB3aGlj aCBtb3RoZXJib2FyZCB0byBzZXQgdGhlIGNvbmZpZworLSAgICAgKi8KKy0gICAgdmlydHVhbCB2 b2lkIHNldF9jbG9ja19zb3VyY2UoY29uc3Qgc3RkOjpzdHJpbmcgJnNvdXJjZSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90IG1ib2FyZCA9IDApID0gMDsK Ky0KKy0gICAgLyohCistICAgICAqIEdldCB0aGUgY3VycmVudGx5IHNldCBjbG9jayBzb3VyY2Uu CistICAgICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBjb25m aWcKKy0gICAgICogXHJldHVybiB0aGUgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY2xvY2sgc291 cmNlCistICAgICAqLworLSAgICB2aXJ0dWFsIHN0ZDo6c3RyaW5nIGdldF9jbG9ja19zb3VyY2Uo Y29uc3Qgc2l6ZV90IG1ib2FyZCkgPSAwOworLQorLSAgICAvKiEKKy0gICAgICogR2V0IGEgbGlz dCBvZiBwb3NzaWJsZSBjbG9jayBzb3VyY2VzLgorLSAgICAgKiBccGFyYW0gbWJvYXJkIHdoaWNo IG1vdGhlcmJvYXJkIHRvIGdldCB0aGUgbGlzdAorLSAgICAgKiBccmV0dXJuIGEgdmVjdG9yIG9m IHN0cmluZ3MgZm9yIHBvc3NpYmxlIHNldHRpbmdzCistICAgICAqLworLSAgICB2aXJ0dWFsIHN0 ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBnZXRfY2xvY2tfc291cmNlcyhjb25zdCBzaXplX3QgbWJv YXJkKSA9IDA7CistCistICAgIC8qIQorLSAgICAgKiBHZXQgdGhlIG1hc3RlciBjbG9jayByYXRl LgorLSAgICAgKiBccGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQor LSAgICAgKiBccmV0dXJuIHRoZSBjbG9jayByYXRlIGluIEh6CistICAgICAqLworLSAgICB2aXJ0 dWFsIGRvdWJsZSBnZXRfY2xvY2tfcmF0ZShzaXplX3QgbWJvYXJkID0gMCkgPSAwOworLQorLSAg ICAvKiEKKy0gICAgICogU2V0IHRoZSBtYXN0ZXIgY2xvY2sgcmF0ZS4KKy0gICAgICogXHBhcmFt IHJhdGUgdGhlIG5ldyByYXRlIGluIEh6CistICAgICAqIFxwYXJhbSBtYm9hcmQgdGhlIG1vdGhl cmJvYXJkIGluZGV4IDAgdG8gTS0xCistICAgICAqLworLSAgICB2aXJ0dWFsIHZvaWQgc2V0X2Ns b2NrX3JhdGUoZG91YmxlIHJhdGUsIHNpemVfdCBtYm9hcmQgPSAwKSA9IDA7CistCistICAgIC8q IQorLSAgICAgKiBHZXQgdGhlIGN1cnJlbnQgdGltZSByZWdpc3RlcnMuCistICAgICAqIFxwYXJh bSBtYm9hcmQgdGhlIG1vdGhlcmJvYXJkIGluZGV4IDAgdG8gTS0xCistICAgICAqIFxyZXR1cm4g dGhlIGN1cnJlbnQgZGV2aWNlIHRpbWUKKy0gICAgICovCistICAgIHZpcnR1YWwgOjpvc21vc2Ry Ojp0aW1lX3NwZWNfdCBnZXRfdGltZV9ub3coc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKy0KKy0g ICAgLyohCistICAgICAqIEdldCB0aGUgdGltZSB3aGVuIHRoZSBsYXN0IHBwcyBwdWxzZSBvY2N1 cmVkLgorLSAgICAgKiBccGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0t MQorLSAgICAgKiBccmV0dXJuIHRoZSBjdXJyZW50IGRldmljZSB0aW1lCistICAgICAqLworLSAg ICB2aXJ0dWFsIDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgZ2V0X3RpbWVfbGFzdF9wcHMoc2l6ZV90 IG1ib2FyZCA9IDApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFNldHMgdGhlIHRpbWUgcmVn aXN0ZXJzIGltbWVkaWF0ZWx5LgorLSAgICAgKiBccGFyYW0gdGltZV9zcGVjIHRoZSBuZXcgdGlt ZQorLSAgICAgKiBccGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQor LSAgICAgKi8KKy0gICAgdmlydHVhbCB2b2lkIHNldF90aW1lX25vdyhjb25zdCA6Om9zbW9zZHI6 OnRpbWVfc3BlY190ICZ0aW1lX3NwZWMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKy0KKy0gICAgLyohCistICAgICAqIFNldCB0aGUgdGlt ZSByZWdpc3RlcnMgYXQgdGhlIG5leHQgcHBzLgorLSAgICAgKiBccGFyYW0gdGltZV9zcGVjIHRo ZSBuZXcgdGltZQorLSAgICAgKi8KKy0gICAgdmlydHVhbCB2b2lkIHNldF90aW1lX25leHRfcHBz KGNvbnN0IDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgJnRpbWVfc3BlYykgPSAwOworLQorLSAgICAv KiEKKy0gICAgICogU3luYyB0aGUgdGltZSByZWdpc3RlcnMgd2l0aCBhbiB1bmtub3duIHBwcyBl ZGdlLgorLSAgICAgKiBccGFyYW0gdGltZV9zcGVjIHRoZSBuZXcgdGltZQorLSAgICAgKi8KKy0g ICAgdmlydHVhbCB2b2lkIHNldF90aW1lX3Vua25vd25fcHBzKGNvbnN0IDo6b3Ntb3Nkcjo6dGlt ZV9zcGVjX3QgJnRpbWVfc3BlYykgPSAwOworKyAgc3RhdGljIHNwdHIgbWFrZSggY29uc3Qgc3Rk OjpzdHJpbmcgJiBhcmdzID0gIiIgKTsKKysKKysgIC8qIQorKyAgICogR2V0IHRoZSBudW1iZXIg b2YgY2hhbm5lbHMgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUgb2ZmZXJzLgorKyAgICog XHJldHVybiB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBjaGFubmVscworKyAgICovCisrICB2aXJ0 dWFsIHNpemVfdCBnZXRfbnVtX2NoYW5uZWxzKCB2b2lkICkgPSAwOworKworKyAgLyohCisrICAg KiBcYnJpZWYgc2VlayBmaWxlIHRvIFxwIHNlZWtfcG9pbnQgcmVsYXRpdmUgdG8gXHAgd2hlbmNl CisrICAgKgorKyAgICogXHBhcmFtIHNlZWtfcG9pbnQJc2FtcGxlIG9mZnNldCBpbiBmaWxlCisr ICAgKiBccGFyYW0gd2hlbmNlCW9uZSBvZiBTRUVLX1NFVCwgU0VFS19DVVIsIFNFRUtfRU5EICht YW4gZnNlZWspCisrICAgKiBccmV0dXJuIHRydWUgb24gc3VjY2VzcworKyAgICovCisrICB2aXJ0 dWFsIGJvb2wgc2VlayggbG9uZyBzZWVrX3BvaW50LCBpbnQgd2hlbmNlLCBzaXplX3QgY2hhbiA9 IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAqIEdldCB0aGUgcG9zc2libGUgc2FtcGxlIHJhdGVz IGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFxyZXR1cm4gYSByYW5n ZSBvZiByYXRlcyBpbiBTcHMKKysgICAqLworKyAgdmlydHVhbCBvc21vc2RyOjptZXRhX3Jhbmdl X3QgZ2V0X3NhbXBsZV9yYXRlcyggdm9pZCApID0gMDsKKysKKysgIC8qIQorKyAgICogU2V0IHRo ZSBzYW1wbGUgcmF0ZSBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgKiBU aGlzIGFsc28gd2lsbCBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIElGIGJhbmRwYXNzLCBpZiBhcHBs aWNhYmxlLgorKyAgICogXHBhcmFtIHJhdGUgYSBuZXcgcmF0ZSBpbiBTcHMKKysgICAqLworKyAg dmlydHVhbCBkb3VibGUgc2V0X3NhbXBsZV9yYXRlKCBkb3VibGUgcmF0ZSApID0gMDsKKysKKysg IC8qIQorKyAgICogR2V0IHRoZSBzYW1wbGUgcmF0ZSBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8g aGFyZHdhcmUuCisrICAgKiBUaGlzIGlzIHRoZSBhY3R1YWwgc2FtcGxlIHJhdGUgYW5kIG1heSBk aWZmZXIgZnJvbSB0aGUgcmF0ZSBzZXQuCisrICAgKiBccmV0dXJuIHRoZSBhY3R1YWwgcmF0ZSBp biBTcHMKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgZ2V0X3NhbXBsZV9yYXRlKCB2b2lkICkg PSAwOworKworKyAgLyohCisrICAgKiBHZXQgdGhlIHR1bmFibGUgZnJlcXVlbmN5IHJhbmdlIGZv ciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFxwYXJhbSBjaGFuIHRoZSBj aGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgKiBccmV0dXJuIHRoZSBmcmVxdWVuY3kgcmFuZ2Ug aW4gSHoKKysgICAqLworKyAgdmlydHVhbCBvc21vc2RyOjpmcmVxX3JhbmdlX3QgZ2V0X2ZyZXFf cmFuZ2UoIHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgIC8qIQorKyAgICogVHVuZSB0aGUg dW5kZXJseWluZyByYWRpbyBoYXJkd2FyZSB0byB0aGUgZGVzaXJlZCBjZW50ZXIgZnJlcXVlbmN5 LgorKyAgICogVGhpcyBhbHNvIHdpbGwgc2VsZWN0IHRoZSBhcHByb3ByaWF0ZSBSRiBiYW5kcGFz cy4KKysgICAqIFxwYXJhbSBmcmVxIHRoZSBkZXNpcmVkIGZyZXF1ZW5jeSBpbiBIegorKyAgICog XHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAqIFxyZXR1cm4gdGhl IGFjdHVhbCBmcmVxdWVuY3kgaW4gSHoKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgc2V0X2Nl bnRlcl9mcmVxKCBkb3VibGUgZnJlcSwgc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgLyoh CisrICAgKiBHZXQgdGhlIGNlbnRlciBmcmVxdWVuY3kgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFy ZHdhcmUgaXMgdHVuZWQgdG8uCisrICAgKiBUaGlzIGlzIHRoZSBhY3R1YWwgZnJlcXVlbmN5IGFu ZCBtYXkgZGlmZmVyIGZyb20gdGhlIGZyZXF1ZW5jeSBzZXQuCisrICAgKiBccGFyYW0gY2hhbiB0 aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgZnJlcXVlbmN5IGlu IEh6CisrICAgKi8KKysgIHZpcnR1YWwgZG91YmxlIGdldF9jZW50ZXJfZnJlcSggc2l6ZV90IGNo YW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAgKiBTZXQgdGhlIGZyZXF1ZW5jeSBjb3JyZWN0 aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uLgorKyAgICogXHBhcmFtIHBwbSB0aGUgZGVz aXJlZCBjb3JyZWN0aW9uIHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCisrICAgKiBccGFyYW0g Y2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiBjb3JyZWN0aW9u IHZhbHVlIGluIHBhcnRzIHBlciBtaWxsaW9uCisrICAgKi8KKysgIHZpcnR1YWwgZG91YmxlIHNl dF9mcmVxX2NvcnIoIGRvdWJsZSBwcG0sIHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgIC8q IQorKyAgICogR2V0IHRoZSBmcmVxdWVuY3kgY29ycmVjdGlvbiB2YWx1ZS4KKysgICAqIFxwYXJh bSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgKiBccmV0dXJuIGNvcnJlY3Rp b24gdmFsdWUgaW4gcGFydHMgcGVyIG1pbGxpb24KKysgICAqLworKyAgdmlydHVhbCBkb3VibGUg Z2V0X2ZyZXFfY29yciggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAgKiBH ZXQgdGhlIGdhaW4gc3RhZ2UgbmFtZXMgb2YgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUu CisrICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJl dHVybiBhIHZlY3RvciBvZiBzdHJpbmdzIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIGdhaW4gc3Rh Z2VzCisrICAgKi8KKysgIHZpcnR1YWwgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGdldF9nYWlu X25hbWVzKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAqIEdldCB0aGUg c2V0dGFibGUgb3ZlcmFsbCBnYWluIHJhbmdlIGZvciB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJk d2FyZS4KKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAg KiBccmV0dXJuIHRoZSBnYWluIHJhbmdlIGluIGRCCisrICAgKi8KKysgIHZpcnR1YWwgb3Ntb3Nk cjo6Z2Fpbl9yYW5nZV90IGdldF9nYWluX3JhbmdlKCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7Cisr CisrICAvKiEKKysgICAqIEdldCB0aGUgc2V0dGFibGUgZ2FpbiByYW5nZSBmb3IgYSBzcGVjaWZp YyBnYWluIHN0YWdlLgorKyAgICogXHBhcmFtIG5hbWUgdGhlIG5hbWUgb2YgdGhlIGdhaW4gc3Rh Z2UKKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGluZGV4IDAgdG8gTi0xCisrICAgKiBc cmV0dXJuIHRoZSBnYWluIHJhbmdlIGluIGRCCisrICAgKi8KKysgIHZpcnR1YWwgb3Ntb3Nkcjo6 Z2Fpbl9yYW5nZV90IGdldF9nYWluX3JhbmdlKCBjb25zdCBzdGQ6OnN0cmluZyAmIG5hbWUsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNo YW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAgKiBTZXQgdGhlIGdhaW4gbW9kZSBmb3IgdGhl IHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgKiBUaGlzIG1pZ2h0IGJlIHN1cHBvcnRl ZCBvbmx5IGZvciBjZXJ0YWluIGhhcmR3YXJlIHR5cGVzLgorKyAgICogXHBhcmFtIGF1dG9tYXRp YyB0aGUgZ2FpbiBtb2RlICh0cnVlIG1lYW5zIGF1dG9tYXRpYyBnYWluIG1vZGUpCisrICAgKiBc cGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUg YWN0dWFsIGdhaW4gbW9kZQorKyAgICovCisrICB2aXJ0dWFsIGJvb2wgc2V0X2dhaW5fbW9kZSgg Ym9vbCBhdXRvbWF0aWMsIHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgIC8qIQorKyAgICog R2V0IHRoZSBnYWluIG1vZGUgc2VsZWN0ZWQgZm9yIHRoZSB1bmRlcmx5aW5nIHJhZGlvIGhhcmR3 YXJlLgorKyAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysgICAq IFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIG1vZGUgKHRydWUgbWVhbnMgYXV0b21hdGljIGdhaW4g bW9kZSkKKysgICAqLworKyAgdmlydHVhbCBib29sIGdldF9nYWluX21vZGUoIHNpemVfdCBjaGFu ID0gMCApID0gMDsKKysKKysgIC8qIQorKyAgICogU2V0IHRoZSBnYWluIGZvciB0aGUgdW5kZXJs eWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRvbWF0aWNh bGx5IGRpc3RyaWJ1dGUgdGhlIGRlc2lyZWQgZ2FpbiB2YWx1ZSBvdmVyCisrICAgKiBhdmFpbGFi bGUgZ2FpbiBzdGFnZXMgaW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCByZXR1cm4gdGhlIGFjdHVh bCB2YWx1ZS4KKysgICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCisrICAgKiBccGFyYW0g Y2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0dWFs IGdhaW4gaW4gZEIKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgc2V0X2dhaW4oIGRvdWJsZSBn YWluLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAqIFNldCB0aGUgbmFt ZWQgZ2FpbiBvbiB0aGUgdW5kZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFxwYXJhbSBn YWluIHRoZSBnYWluIGluIGRCCisrICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZ2Fp biBzdGFnZQorKyAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEKKysg ICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCisrICAgKi8KKysgIHZpcnR1YWwgZG91 YmxlIHNldF9nYWluKCBkb3VibGUgZ2FpbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBzdGQ6OnN0cmluZyAmIG5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6 ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAgKiBHZXQgdGhlIGFjdHVhbCBnYWlu IHNldHRpbmcgb2YgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgKiBccGFyYW0g Y2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0dWFs IGdhaW4gaW4gZEIKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgZ2V0X2dhaW4oIHNpemVfdCBj aGFuID0gMCApID0gMDsKKysKKysgIC8qIQorKyAgICogR2V0IHRoZSBhY3R1YWwgZ2FpbiBzZXR0 aW5nIG9mIGEgbmFtZWQgc3RhZ2UuCisrICAgKiBccGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUg Z2FpbiBzdGFnZQorKyAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBOLTEK KysgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCisrICAgKi8KKysgIHZpcnR1YWwg ZG91YmxlIGdldF9nYWluKCBjb25zdCBzdGQ6OnN0cmluZyAmIG5hbWUsIHNpemVfdCBjaGFuID0g MCApID0gMDsKKysKKysgIC8qIQorKyAgICogU2V0IHRoZSBJRiBnYWluIGZvciB0aGUgdW5kZXJs eWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhdXRvbWF0aWNh bGx5IGRpc3RyaWJ1dGUgdGhlIGRlc2lyZWQgZ2FpbiB2YWx1ZSBvdmVyCisrICAgKiBhdmFpbGFi bGUgSUYgZ2FpbiBzdGFnZXMgaW4gYW4gYXBwcm9wcmlhdGUgd2F5IGFuZCByZXR1cm4gdGhlIGFj dHVhbCB2YWx1ZS4KKysgICAqIFxwYXJhbSBnYWluIHRoZSBnYWluIGluIGRCCisrICAgKiBccGFy YW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0 dWFsIGdhaW4gaW4gZEIKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgc2V0X2lmX2dhaW4oIGRv dWJsZSBnYWluLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAqIFNldCB0 aGUgQkIgZ2FpbiBmb3IgdGhlIHVuZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgKiBUaGlz IGZ1bmN0aW9uIHdpbGwgYXV0b21hdGljYWxseSBkaXN0cmlidXRlIHRoZSBkZXNpcmVkIGdhaW4g dmFsdWUgb3ZlcgorKyAgICogYXZhaWxhYmxlIEJCIGdhaW4gc3RhZ2VzIGluIGFuIGFwcHJvcHJp YXRlIHdheSBhbmQgcmV0dXJuIHRoZSBhY3R1YWwgdmFsdWUuCisrICAgKiBccGFyYW0gZ2FpbiB0 aGUgZ2FpbiBpbiBkQgorKyAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwgaW5kZXggMCB0byBO LTEKKysgICAqIFxyZXR1cm4gdGhlIGFjdHVhbCBnYWluIGluIGRCCisrICAgKi8KKysgIHZpcnR1 YWwgZG91YmxlIHNldF9iYl9nYWluKCBkb3VibGUgZ2Fpbiwgc2l6ZV90IGNoYW4gPSAwICkgPSAw OworKworKyAgLyohCisrICAgKiBHZXQgdGhlIGF2YWlsYWJsZSBhbnRlbm5hcyBvZiB0aGUgdW5k ZXJseWluZyByYWRpbyBoYXJkd2FyZS4KKysgICAqIFxwYXJhbSBjaGFuIHRoZSBjaGFubmVsIGlu ZGV4IDAgdG8gTi0xCisrICAgKiBccmV0dXJuIGEgdmVjdG9yIG9mIHN0cmluZ3MgY29udGFpbmlu ZyB0aGUgbmFtZXMgb2YgYXZhaWxhYmxlIGFudGVubmFzCisrICAgKi8KKysgIHZpcnR1YWwgc3Rk Ojp2ZWN0b3I8IHN0ZDo6c3RyaW5nID4gZ2V0X2FudGVubmFzKCBzaXplX3QgY2hhbiA9IDAgKSA9 IDA7CisrCisrICAvKiEKKysgICAqIFNlbGVjdCB0aGUgYWN0aXZlIGFudGVubmEgb2YgdGhlIHVu ZGVybHlpbmcgcmFkaW8gaGFyZHdhcmUuCisrICAgKiBccGFyYW0gYW50ZW5uYSBuYW1lIG9mIHRo ZSBhbnRlbm5hIHRvIGJlIHNlbGVjdGVkCisrICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBp bmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0dWFsIGFudGVubmEncyBuYW1lCisr ICAgKi8KKysgIHZpcnR1YWwgc3RkOjpzdHJpbmcgc2V0X2FudGVubmEoIGNvbnN0IHN0ZDo6c3Ry aW5nICYgYW50ZW5uYSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVf dCBjaGFuID0gMCApID0gMDsKKysKKysgIC8qIQorKyAgICogR2V0IHRoZSBhY3R1YWwgdW5kZXJs eWluZyByYWRpbyBoYXJkd2FyZSBhbnRlbm5hIHNldHRpbmcuCisrICAgKiBccGFyYW0gY2hhbiB0 aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0dWFsIGFudGVu bmEncyBuYW1lCisrICAgKi8KKysgIHZpcnR1YWwgc3RkOjpzdHJpbmcgZ2V0X2FudGVubmEoIHNp emVfdCBjaGFuID0gMCApID0gMDsKKysKKysgIGVudW0gRENPZmZzZXRNb2RlIHsKKysgICAgRENP ZmZzZXRPZmYgPSAwLAorKyAgICBEQ09mZnNldE1hbnVhbCwKKysgICAgRENPZmZzZXRBdXRvbWF0 aWMKKysgIH07CisrCisrICAvKiEKKysgICAqIFNldCB0aGUgUlggZnJvbnRlbmQgREMgY29ycmVj dGlvbiBtb2RlLgorKyAgICogVGhlIGF1dG9tYXRpYyBjb3JyZWN0aW9uIHN1YnRyYWN0cyBvdXQg dGhlIGxvbmctcnVuIGF2ZXJhZ2UuCisrICAgKgorKyAgICogV2hlbiBkaXNhYmxlZCwgdGhlIGF2 ZXJhZ2luZyBvcHRpb24gb3BlcmF0aW9uIGlzIHJlc2V0LgorKyAgICogT25jZSBpbiBNYW51YWwg bW9kZSwgdGhlIGF2ZXJhZ2UgdmFsdWUgd2lsbCBiZSBoZWxkIGNvbnN0YW50IHVudGlsCisrICAg KiB0aGUgdXNlciByZS1lbmFibGVzIHRoZSBhdXRvbWF0aWMgY29ycmVjdGlvbiBvciBvdmVycmlk ZXMgdGhlCisrICAgKiB2YWx1ZSBieSBtYW51YWxseSBzZXR0aW5nIHRoZSBvZmZzZXQuCisrICAg KgorKyAgICogXHBhcmFtIG1vZGUgZGMgb2Zmc2V0IGNvcnJlY3Rpb24gbW9kZTogMCA9IE9mZiwg MSA9IE1hbnVhbCwgMiA9IEF1dG9tYXRpYworKyAgICogXHBhcmFtIGNoYW4gdGhlIGNoYW5uZWwg aW5kZXggMCB0byBOLTEKKysgICAqLworKyAgdmlydHVhbCB2b2lkIHNldF9kY19vZmZzZXRfbW9k ZSggaW50IG1vZGUsIHNpemVfdCBjaGFuID0gMCkgPSAwOworKworKyAgLyohCisrICAgKiBTZXQg dGhlIFJYIGZyb250ZW5kIERDIG9mZnNldCB2YWx1ZS4KKysgICAqIFRoZSB2YWx1ZSBpcyBjb21w bGV4IHRvIGNvbnRyb2wgYm90aCBJIGFuZCBRLgorKyAgICogT25seSBzZXQgdGhpcyB3aGVuIGF1 dG9tYXRpYyBjb3JyZWN0aW9uIGlzIGRpc2FibGVkLgorKyAgICoKKysgICAqIFxwYXJhbSBvZmZz ZXQgdGhlIGRjIG9mZnNldCAoMS4wIGlzIGZ1bGwtc2NhbGUpCisrICAgKiBccGFyYW0gY2hhbiB0 aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICovCisrICB2aXJ0dWFsIHZvaWQgc2V0X2Rj X29mZnNldCggY29uc3Qgc3RkOjpjb21wbGV4PGRvdWJsZT4gJm9mZnNldCwgc2l6ZV90IGNoYW4g PSAwICkgPSAwOworKworKyAgZW51bSBJUUJhbGFuY2VNb2RlIHsKKysgICAgSVFCYWxhbmNlT2Zm ID0gMCwKKysgICAgSVFCYWxhbmNlTWFudWFsLAorKyAgICBJUUJhbGFuY2VBdXRvbWF0aWMKKysg IH07CisrCisrICAvKiEKKysgICAqIFNldCB0aGUgUlggZnJvbnRlbmQgSVEgYmFsYW5jZSBtb2Rl LgorKyAgICoKKysgICAqIFxwYXJhbSBtb2RlIGlxIGJhbGFuY2UgY29ycmVjdGlvbiBtb2RlOiAw ID0gT2ZmLCAxID0gTWFudWFsLCAyID0gQXV0b21hdGljCisrICAgKiBccGFyYW0gY2hhbiB0aGUg Y2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICovCisrICB2aXJ0dWFsIHZvaWQgc2V0X2lxX2Jh bGFuY2VfbW9kZSggaW50IG1vZGUsIHNpemVfdCBjaGFuID0gMCApID0gMDsKKysKKysgIC8qIQor KyAgICogU2V0IHRoZSBSWCBmcm9udGVuZCBJUSBiYWxhbmNlIGNvcnJlY3Rpb24uCisrICAgKiBV c2UgdGhpcyB0byBhZGp1c3QgdGhlIG1hZ25pdHVkZSBhbmQgcGhhc2Ugb2YgSSBhbmQgUS4KKysg ICAqCisrICAgKiBccGFyYW0gYmFsYW5jZSB0aGUgY29tcGxleCBjb3JyZWN0aW9uIHZhbHVlCisr ICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICovCisrICB2 aXJ0dWFsIHZvaWQgc2V0X2lxX2JhbGFuY2UoIGNvbnN0IHN0ZDo6Y29tcGxleDxkb3VibGU+ICZi YWxhbmNlLCBzaXplX3QgY2hhbiA9IDAgKSA9IDA7CisrCisrICAvKiEKKysgICAqIFNldCB0aGUg YmFuZHBhc3MgZmlsdGVyIG9uIHRoZSByYWRpbyBmcm9udGVuZC4KKysgICAqIFxwYXJhbSBiYW5k d2lkdGggdGhlIGZpbHRlciBiYW5kd2lkdGggaW4gSHosIHNldCB0byAwIGZvciBhdXRvbWF0aWMg c2VsZWN0aW9uCisrICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQor KyAgICogXHJldHVybiB0aGUgYWN0dWFsIGZpbHRlciBiYW5kd2lkdGggaW4gSHoKKysgICAqLwor KyAgdmlydHVhbCBkb3VibGUgc2V0X2JhbmR3aWR0aCggZG91YmxlIGJhbmR3aWR0aCwgc2l6ZV90 IGNoYW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAgKiBHZXQgdGhlIGFjdHVhbCBiYW5kcGFz cyBmaWx0ZXIgc2V0dGluZyBvbiB0aGUgcmFkaW8gZnJvbnRlbmQuCisrICAgKiBccGFyYW0gY2hh biB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVybiB0aGUgYWN0dWFsIGZp bHRlciBiYW5kd2lkdGggaW4gSHoKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgZ2V0X2JhbmR3 aWR0aCggc2l6ZV90IGNoYW4gPSAwICkgPSAwOworKworKyAgLyohCisrICAgKiBHZXQgdGhlIHBv c3NpYmxlIGJhbmRwYXNzIGZpbHRlciBzZXR0aW5ncyBvbiB0aGUgcmFkaW8gZnJvbnRlbmQuCisr ICAgKiBccGFyYW0gY2hhbiB0aGUgY2hhbm5lbCBpbmRleCAwIHRvIE4tMQorKyAgICogXHJldHVy biBhIHJhbmdlIG9mIGJhbmR3aWR0aHMgaW4gSHoKKysgICAqLworKyAgdmlydHVhbCBvc21vc2Ry OjpmcmVxX3JhbmdlX3QgZ2V0X2JhbmR3aWR0aF9yYW5nZSggc2l6ZV90IGNoYW4gPSAwICkgPSAw OworKworKyAgLyohCisrICAgKiBTZXQgdGhlIHRpbWUgc291cmNlIGZvciB0aGUgZGV2aWNlLgor KyAgICogVGhpcyBzZXRzIHRoZSBtZXRob2Qgb2YgdGltZSBzeW5jaHJvbml6YXRpb24sCisrICAg KiB0eXBpY2FsbHkgYSBwdWxzZSBwZXIgc2Vjb25kIG9yIGFuIGVuY29kZWQgdGltZS4KKysgICAq IFR5cGljYWwgb3B0aW9ucyBmb3Igc291cmNlOiBleHRlcm5hbCwgTUlNTy4KKysgICAqIFxwYXJh bSBzb3VyY2UgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0aW1lIHNvdXJjZQorKyAgICogXHBh cmFtIG1ib2FyZCB3aGljaCBtb3RoZXJib2FyZCB0byBzZXQgdGhlIGNvbmZpZworKyAgICovCisr ICB2aXJ0dWFsIHZvaWQgc2V0X3RpbWVfc291cmNlKGNvbnN0IHN0ZDo6c3RyaW5nICZzb3VyY2Us CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBtYm9hcmQgPSAw KSA9IDA7CisrCisrICAvKiEKKysgICAqIEdldCB0aGUgY3VycmVudGx5IHNldCB0aW1lIHNvdXJj ZS4KKysgICAqIFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gZ2V0IHRoZSBjb25m aWcKKysgICAqIFxyZXR1cm4gdGhlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHRpbWUgc291cmNl CisrICAgKi8KKysgIHZpcnR1YWwgc3RkOjpzdHJpbmcgZ2V0X3RpbWVfc291cmNlKGNvbnN0IHNp emVfdCBtYm9hcmQpID0gMDsKKysKKysgIC8qIQorKyAgICogR2V0IGEgbGlzdCBvZiBwb3NzaWJs ZSB0aW1lIHNvdXJjZXMuCisrICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJkIHRv IGdldCB0aGUgbGlzdAorKyAgICogXHJldHVybiBhIHZlY3RvciBvZiBzdHJpbmdzIGZvciBwb3Nz aWJsZSBzZXR0aW5ncworKyAgICovCisrICB2aXJ0dWFsIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5n PiBnZXRfdGltZV9zb3VyY2VzKGNvbnN0IHNpemVfdCBtYm9hcmQpID0gMDsKKysKKysgIC8qIQor KyAgICogU2V0IHRoZSBjbG9jayBzb3VyY2UgZm9yIHRoZSBkZXZpY2UuCisrICAgKiBUaGlzIHNl dHMgdGhlIHNvdXJjZSBmb3IgYSAxMCBNaHogcmVmZXJlbmNlIGNsb2NrLgorKyAgICogVHlwaWNh bCBvcHRpb25zIGZvciBzb3VyY2U6IGludGVybmFsLCBleHRlcm5hbCwgTUlNTy4KKysgICAqIFxw YXJhbSBzb3VyY2UgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjbG9jayBzb3VyY2UKKysgICAq IFxwYXJhbSBtYm9hcmQgd2hpY2ggbW90aGVyYm9hcmQgdG8gc2V0IHRoZSBjb25maWcKKysgICAq LworKyAgdmlydHVhbCB2b2lkIHNldF9jbG9ja19zb3VyY2UoY29uc3Qgc3RkOjpzdHJpbmcgJnNv dXJjZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBtYm9h cmQgPSAwKSA9IDA7CisrCisrICAvKiEKKysgICAqIEdldCB0aGUgY3VycmVudGx5IHNldCBjbG9j ayBzb3VyY2UuCisrICAgKiBccGFyYW0gbWJvYXJkIHdoaWNoIG1vdGhlcmJvYXJkIHRvIGdldCB0 aGUgY29uZmlnCisrICAgKiBccmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjbG9j ayBzb3VyY2UKKysgICAqLworKyAgdmlydHVhbCBzdGQ6OnN0cmluZyBnZXRfY2xvY2tfc291cmNl KGNvbnN0IHNpemVfdCBtYm9hcmQpID0gMDsKKysKKysgIC8qIQorKyAgICogR2V0IGEgbGlzdCBv ZiBwb3NzaWJsZSBjbG9jayBzb3VyY2VzLgorKyAgICogXHBhcmFtIG1ib2FyZCB3aGljaCBtb3Ro ZXJib2FyZCB0byBnZXQgdGhlIGxpc3QKKysgICAqIFxyZXR1cm4gYSB2ZWN0b3Igb2Ygc3RyaW5n cyBmb3IgcG9zc2libGUgc2V0dGluZ3MKKysgICAqLworKyAgdmlydHVhbCBzdGQ6OnZlY3Rvcjxz dGQ6OnN0cmluZz4gZ2V0X2Nsb2NrX3NvdXJjZXMoY29uc3Qgc2l6ZV90IG1ib2FyZCkgPSAwOwor KworKyAgLyohCisrICAgKiBHZXQgdGhlIG1hc3RlciBjbG9jayByYXRlLgorKyAgICogXHBhcmFt IG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKysgICAqIFxyZXR1cm4gdGhl IGNsb2NrIHJhdGUgaW4gSHoKKysgICAqLworKyAgdmlydHVhbCBkb3VibGUgZ2V0X2Nsb2NrX3Jh dGUoc2l6ZV90IG1ib2FyZCA9IDApID0gMDsKKysKKysgIC8qIQorKyAgICogU2V0IHRoZSBtYXN0 ZXIgY2xvY2sgcmF0ZS4KKysgICAqIFxwYXJhbSByYXRlIHRoZSBuZXcgcmF0ZSBpbiBIegorKyAg ICogXHBhcmFtIG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0byBNLTEKKysgICAqLwor KyAgdmlydHVhbCB2b2lkIHNldF9jbG9ja19yYXRlKGRvdWJsZSByYXRlLCBzaXplX3QgbWJvYXJk ID0gMCkgPSAwOworKworKyAgLyohCisrICAgKiBHZXQgdGhlIGN1cnJlbnQgdGltZSByZWdpc3Rl cnMuCisrICAgKiBccGFyYW0gbWJvYXJkIHRoZSBtb3RoZXJib2FyZCBpbmRleCAwIHRvIE0tMQor KyAgICogXHJldHVybiB0aGUgY3VycmVudCBkZXZpY2UgdGltZQorKyAgICovCisrICB2aXJ0dWFs IDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgZ2V0X3RpbWVfbm93KHNpemVfdCBtYm9hcmQgPSAwKSA9 IDA7CisrCisrICAvKiEKKysgICAqIEdldCB0aGUgdGltZSB3aGVuIHRoZSBsYXN0IHBwcyBwdWxz ZSBvY2N1cmVkLgorKyAgICogXHBhcmFtIG1ib2FyZCB0aGUgbW90aGVyYm9hcmQgaW5kZXggMCB0 byBNLTEKKysgICAqIFxyZXR1cm4gdGhlIGN1cnJlbnQgZGV2aWNlIHRpbWUKKysgICAqLworKyAg dmlydHVhbCA6Om9zbW9zZHI6OnRpbWVfc3BlY190IGdldF90aW1lX2xhc3RfcHBzKHNpemVfdCBt Ym9hcmQgPSAwKSA9IDA7CisrCisrICAvKiEKKysgICAqIFNldHMgdGhlIHRpbWUgcmVnaXN0ZXJz IGltbWVkaWF0ZWx5LgorKyAgICogXHBhcmFtIHRpbWVfc3BlYyB0aGUgbmV3IHRpbWUKKysgICAq IFxwYXJhbSBtYm9hcmQgdGhlIG1vdGhlcmJvYXJkIGluZGV4IDAgdG8gTS0xCisrICAgKi8KKysg IHZpcnR1YWwgdm9pZCBzZXRfdGltZV9ub3coY29uc3QgOjpvc21vc2RyOjp0aW1lX3NwZWNfdCAm dGltZV9zcGVjLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbWJvYXJkID0g MCkgPSAwOworKworKyAgLyohCisrICAgKiBTZXQgdGhlIHRpbWUgcmVnaXN0ZXJzIGF0IHRoZSBu ZXh0IHBwcy4KKysgICAqIFxwYXJhbSB0aW1lX3NwZWMgdGhlIG5ldyB0aW1lCisrICAgKi8KKysg IHZpcnR1YWwgdm9pZCBzZXRfdGltZV9uZXh0X3Bwcyhjb25zdCA6Om9zbW9zZHI6OnRpbWVfc3Bl Y190ICZ0aW1lX3NwZWMpID0gMDsKKysKKysgIC8qIQorKyAgICogU3luYyB0aGUgdGltZSByZWdp c3RlcnMgd2l0aCBhbiB1bmtub3duIHBwcyBlZGdlLgorKyAgICogXHBhcmFtIHRpbWVfc3BlYyB0 aGUgbmV3IHRpbWUKKysgICAqLworKyAgdmlydHVhbCB2b2lkIHNldF90aW1lX3Vua25vd25fcHBz KGNvbnN0IDo6b3Ntb3Nkcjo6dGltZV9zcGVjX3QgJnRpbWVfc3BlYykgPSAwOworIH07CisgCist fSAvLyBuYW1lc3BhY2Ugb3Ntb3NkcgorK30gLyogbmFtZXNwYWNlIG9zbW9zZHIgKi8KKyAKKyAj ZW5kaWYgLyogSU5DTFVERURfT1NNT1NEUl9TT1VSQ0VfSCAqLworLQorZGlmZiAtLWdpdCBhL2xp Yi9DTWFrZUxpc3RzLnR4dCBiL2xpYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggZDA1ZGEzMi4uMjlm ZDZkMCAxMDA2NDQKKy0tLSBsaWIvQ01ha2VMaXN0cy50eHQKKysrKyBsaWIvQ01ha2VMaXN0cy50 eHQKK0BAIC0yMSw3ICsyMSw2IEBACisgIyBTZXR1cCBsaWJyYXJ5CisgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisgSU5DTFVERShHclBsYXRmb3JtKSAjZGVmaW5lIExJQl9TVUZGSVgKKy1JTkNMVURFKE9zbW9T RFJNaXNjVXRpbHMpCisgSU5DTFVERShHck1pc2NVdGlscykKKyBJTkNMVURFKEdyQ29tcG9uZW50 KQorIAorQEAgLTExOSwxMSArMTE4LDExIEBAIFNFVF9TT1VSQ0VfRklMRVNfUFJPUEVSVElFUygK KyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKyAjIFNldHVwIElRQmFsYW5jZSBjb21wb25lbnQKKyAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKy1HUl9SRUdJU1RFUl9DT01QT05FTlQoIk9zbW9jb20gSVEgSW1iYWxhbmNlIENv cnJlY3Rpb24iIEVOQUJMRV9JUUJBTEFOQ0UgZ251cmFkaW8taXFiYWxhbmNlX0ZPVU5EKQorK0dS X1JFR0lTVEVSX0NPTVBPTkVOVCgiT3Ntb2NvbSBJUSBJbWJhbGFuY2UgQ29ycmVjdGlvbiIgRU5B QkxFX0lRQkFMQU5DRSBHTlVSQURJT19JUUJBTEFOQ0VfRk9VTkQpCisgaWYoRU5BQkxFX0lRQkFM QU5DRSkKKyBhZGRfZGVmaW5pdGlvbnMoLURIQVZFX0lRQkFMQU5DRT0xKQorLWluY2x1ZGVfZGly ZWN0b3JpZXMoJHtJUUJBTEFOQ0VfSU5DTFVERV9ESVJTfSkKKy1HUl9PU01PU0RSX0FQUEVORF9M SUJTKCR7SVFCQUxBTkNFX0xJQlJBUklFU30pCisraW5jbHVkZV9kaXJlY3Rvcmllcygke0dOVVJB RElPX0lRQkFMQU5DRV9JTkNMVURFX0RJUlN9KQorK0dSX09TTU9TRFJfQVBQRU5EX0xJQlMoJHtH TlVSQURJT19JUUJBTEFOQ0VfTElCUkFSSUVTfSkKKyBlbmRpZihFTkFCTEVfSVFCQUxBTkNFKQor IAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworQEAgLTEzNyw3ICsxMzYsNyBAQCBlbmRpZihFTkFCTEVfT1NN T1NEUikKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIFNldHVwIEZpbGUgY29tcG9uZW50CisgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCistR1JfUkVHSVNURVJfQ09NUE9ORU5UKCJJUSBGaWxlIFNvdXJjZSAmIFNpbmsi IEVOQUJMRV9GSUxFIGdudXJhZGlvLWJsb2Nrc19GT1VORCkKKytHUl9SRUdJU1RFUl9DT01QT05F TlQoIklRIEZpbGUgU291cmNlICYgU2luayIgRU5BQkxFX0ZJTEUgR05VUkFESU9fQkxPQ0tTX0ZP VU5EKQorIGlmKEVOQUJMRV9GSUxFKQorIEdSX0lOQ0xVREVfU1VCRElSRUNUT1JZKGZpbGUpCisg ZW5kaWYoRU5BQkxFX0ZJTEUpCitAQCAtMTUzLDcgKzE1Miw3IEBAIGVuZGlmKEVOQUJMRV9SVEwp CisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCisgIyBTZXR1cCBSVExfVENQIGNvbXBvbmVudAorICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworLUdSX1JFR0lTVEVSX0NPTVBPTkVOVCgiUlRMU0RSIFRDUCBDbGllbnQiIEVOQUJM RV9SVExfVENQIGdudXJhZGlvLWJsb2Nrc19GT1VORCkKKytHUl9SRUdJU1RFUl9DT01QT05FTlQo IlJUTFNEUiBUQ1AgQ2xpZW50IiBFTkFCTEVfUlRMX1RDUCBHTlVSQURJT19CTE9DS1NfRk9VTkQp CisgaWYoRU5BQkxFX1JUTF9UQ1ApCisgR1JfSU5DTFVERV9TVUJESVJFQ1RPUlkocnRsX3RjcCkK KyBlbmRpZihFTkFCTEVfUlRMX1RDUCkKK0BAIC0xNjEsNyArMTYwLDcgQEAgZW5kaWYoRU5BQkxF X1JUTF9UQ1ApCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBTZXR1cCBVSEQgY29tcG9uZW50CisgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCistR1JfUkVHSVNURVJfQ09NUE9ORU5UKCJFdHR1cyBVU1JQIERldmljZXMi IEVOQUJMRV9VSEQgVUhEX0ZPVU5EIGdudXJhZGlvLXVoZF9GT1VORCkKKytHUl9SRUdJU1RFUl9D T01QT05FTlQoIkV0dHVzIFVTUlAgRGV2aWNlcyIgRU5BQkxFX1VIRCBVSERfRk9VTkQgR05VUkFE SU9fVUhEX0ZPVU5EKQorIGlmKEVOQUJMRV9VSEQpCisgR1JfSU5DTFVERV9TVUJESVJFQ1RPUlko dWhkKQorIGVuZGlmKEVOQUJMRV9VSEQpCitAQCAtMjcwLDQgKzI2OSw0IEBAIEVORElGKE1TVkMp CisgQUREX0xJQlJBUlkoZ251cmFkaW8tb3Ntb3NkciBTSEFSRUQgJHtncl9vc21vc2RyX3NyY3N9 KQorIFRBUkdFVF9MSU5LX0xJQlJBUklFUyhnbnVyYWRpby1vc21vc2RyICR7Z3Jfb3Ntb3Nkcl9s aWJzfSkKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMoZ251cmFkaW8tb3Ntb3NkciBQUk9QRVJUSUVT IERFRklORV9TWU1CT0wgImdudXJhZGlvX29zbW9zZHJfRVhQT1JUUyIpCistR1JfTElCUkFSWV9G T09fVjIoZ251cmFkaW8tb3Ntb3NkcikKKytHUl9MSUJSQVJZX0ZPTyhnbnVyYWRpby1vc21vc2Ry KQorZGlmZiAtLWdpdCBhL3B5dGhvbi9DTWFrZUxpc3RzLnR4dCBiL3B5dGhvbi9DTWFrZUxpc3Rz LnR4dAoraW5kZXggODgzZjExOS4uODg0MWYzNiAxMDA2NDQKKy0tLSBweXRob24vQ01ha2VMaXN0 cy50eHQKKysrKyBweXRob24vQ01ha2VMaXN0cy50eHQKK0BAIC0xLDcgKzEsNiBAQAorICMgQ29w eXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgIworLSMgVGhpcyBm aWxlIHdhcyBnZW5lcmF0ZWQgYnkgZ3JfbW9kdG9vbCwgYSB0b29sIGZyb20gdGhlIEdOVSBSYWRp byBmcmFtZXdvcmsKKy0jIFRoaXMgZmlsZSBpcyBhIHBhcnQgb2YgZ3Itb3Ntb3NkcgorKyMgVGhp cyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisgIworICMgR05VIFJhZGlvIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAjIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CitkaWZmIC0tZ2l0IGEvcHl0aG9uL19faW5pdF9fLnB5IGIvcHl0aG9uL19faW5pdF9fLnB5 CitpbmRleCBiYzgyNDBmLi43MGM0NjlkIDEwMDY0NAorLS0tIHB5dGhvbi9fX2luaXRfXy5weQor KysrIHB5dGhvbi9fX2luaXRfXy5weQorQEAgLTE5LDE2ICsxOSwxNyBAQAorICMgVGhlIHByZXNl bmNlIG9mIHRoaXMgZmlsZSB0dXJucyB0aGlzIGRpcmVjdG9yeSBpbnRvIGEgUHl0aG9uIHBhY2th Z2UKKyAKKyAnJycKKy1UaGlzIGlzIHRoZSBHTlUgUmFkaW8gT1NNT1NEUiBtb2R1bGUuIFBsYWNl IHlvdXIgUHl0aG9uIHBhY2thZ2UKKy1kZXNjcmlwdGlvbiBoZXJlIChweXRob24vX19pbml0X18u cHkpLgorK1RoaXMgaXMgdGhlIEdOVSBSYWRpbyBPc21vU0RSIG1vZHVsZS4KKyAnJycKKysKKyBm cm9tIF9fZnV0dXJlX18gaW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMKKyAKKyAjIGltcG9ydCBzd2ln IGdlbmVyYXRlZCBzeW1ib2xzIGludG8gdGhlIG9zbW9zZHIgbmFtZXNwYWNlCisgdHJ5OgorICAg ICAjIHRoaXMgbWlnaHQgZmFpbCBpZiB0aGUgbW9kdWxlIGlzIHB5dGhvbi1vbmx5CisgICAgIGZy b20gLm9zbW9zZHJfc3dpZyBpbXBvcnQgKgorLWV4Y2VwdCBJbXBvcnRFcnJvcjoKKytleGNlcHQg SW1wb3J0RXJyb3IgYXMgaWU6CisrICAgIHByaW50KGllKQorICAgICBwYXNzCisgCisgIyBpbXBv cnQgYW55IHB1cmUgcHl0aG9uIGhlcmUKK2RpZmYgLS1naXQgYS9zd2lnL0NNYWtlTGlzdHMudHh0 IGIvc3dpZy9DTWFrZUxpc3RzLnR4dAoraW5kZXggYWFiYzU1NS4uZDAxZDAyOSAxMDA2NDQKKy0t LSBzd2lnL0NNYWtlTGlzdHMudHh0CisrKysgc3dpZy9DTWFrZUxpc3RzLnR4dAorQEAgLTEsNyAr MSw2IEBACisgIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KyAjCistIyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJv bSB0aGUgR05VIFJhZGlvIGZyYW1ld29yaworLSMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1v c21vc2RyCisrIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgUmFkaW8KKyAjCisgIyBHTlUgUmFk aW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKK0BAIC0yMSwxMCArMjAsMTAgQEAKKyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KyAjIENoZWNrIGlmIHRoZXJlIGlzIEMrKyBjb2RlIGF0IGFsbAorICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor LWlmKE5PVCBvc21vc2RyX3NvdXJjZXMpCistICAgIE1FU1NBR0UoU1RBVFVTICJObyBDKysgc291 cmNlcy4uLiBza2lwcGluZyBzd2lnLyIpCistICAgIHJldHVybigpCistZW5kaWYoTk9UIG9zbW9z ZHJfc291cmNlcykKKysjaWYoTk9UIG9zbW9zZHJfc291cmNlcykKKysjICAgIE1FU1NBR0UoU1RB VFVTICJObyBDKysgc291cmNlcy4uLiBza2lwcGluZyBzd2lnLyIpCisrIyAgICByZXR1cm4oKQor KyNlbmRpZihOT1Qgb3Ntb3Nkcl9zb3VyY2VzKQorIAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgSW5j bHVkZSBzd2lnIGdlbmVyYXRpb24gbWFjcm9zCitAQCAtNDAsNiArMzksOSBAQCBpbmNsdWRlKEdy UHl0aG9uKQorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgU2V0dXAgc3dpZyBnZW5lcmF0aW9uCisgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisrZm9yZWFjaChpbmNkaXIgJHtHTlVSQURJT19BTExfSU5DTFVERV9ESVJT fSkKKysgICAgbGlzdChBUFBFTkQgR1JfU1dJR19JTkNMVURFX0RJUlMgJHtpbmNkaXJ9L2dudXJh ZGlvL3N3aWcpCisrZW5kZm9yZWFjaChpbmNkaXIpCisgc2V0KEdSX1NXSUdfSU5DTFVERV9ESVJT ICQ8VEFSR0VUX1BST1BFUlRZOmdudXJhZGlvOjpydW50aW1lX3N3aWcsSU5URVJGQUNFX0lOQ0xV REVfRElSRUNUT1JJRVM+KQorIHNldChHUl9TV0lHX1RBUkdFVF9ERVBTIGdudXJhZGlvOjpydW50 aW1lX3N3aWcpCisgCitkaWZmIC0tZ2l0IGEvc3dpZy9vc21vc2RyX3N3aWcuaSBiL3N3aWcvb3Nt b3Nkcl9zd2lnLmkKK2luZGV4IDVlMzhjMGEuLjU1MDAwOGIgMTAwNjQ0CistLS0gc3dpZy9vc21v c2RyX3N3aWcuaQorKysrIHN3aWcvb3Ntb3Nkcl9zd2lnLmkKK0BAIC0yLDE3ICsyLDgxIEBACisg CisgI2RlZmluZSBPU01PU0RSX0FQSQorIAorLSVpbmNsdWRlICJnbnVyYWRpby5pIiAgICAgICAg ICAgLy8gdGhlIGNvbW1vbiBzdHVmZgorKy8vIHN1cHByZXNzIFdhcm5pbmcgMzE5OiBObyBhY2Nl c3Mgc3BlY2lmaWVyIGdpdmVuIGZvciBiYXNlIGNsYXNzICdib29zdDo6bm9uY29weWFibGUnIChp Z25vcmVkKS4KKysjcHJhZ21hIFNXSUcgbm93YXJuPTMxOQorKworKyVpbmNsdWRlICJnbnVyYWRp by5pIgkJCS8vIHRoZSBjb21tb24gc3R1ZmYKKyAKKyAvL2xvYWQgZ2VuZXJhdGVkIHB5dGhvbiBk b2NzdHJpbmdzCisgJWluY2x1ZGUgIm9zbW9zZHJfc3dpZ19kb2MuaSIKKyAKKyAleworKyNpbmNs dWRlICJvc21vc2RyL2RldmljZS5oIgorICNpbmNsdWRlICJvc21vc2RyL3NvdXJjZS5oIgorICNp bmNsdWRlICJvc21vc2RyL3NpbmsuaCIKKyAlfQorIAorKy8vIFdvcmthcm91bmQgZm9yIGEgU1dJ RyAyLjAuNCBidWcgd2l0aCB0ZW1wbGF0ZXMuIFByb2JhYmx5IG5lZWRzIHRvIGJlIGxvb2tlZCBp biB0by4KKysleworKyNpZiBQWV9WRVJTSU9OX0hFWCA+PSAweDAzMDIwMDAwCisrIyBkZWZpbmUg U1dJR1BZX1NMSUNFX0FSRyhvYmopICgoUHlPYmplY3QqKSAob2JqKSkKKysjZWxzZQorKyMgZGVm aW5lIFNXSUdQWV9TTElDRV9BUkcob2JqKSAoKFB5U2xpY2VPYmplY3QqKSAob2JqKSkKKysjZW5k aWYKKyslfQorKworKyV0ZW1wbGF0ZShzdHJpbmdfdmVjdG9yX3QpIHN0ZDo6dmVjdG9yPHN0ZDo6 c3RyaW5nPjsKKysKKysvLyV0ZW1wbGF0ZShzaXplX3ZlY3Rvcl90KSBzdGQ6OnZlY3RvcjxzaXpl X3Q+OworKworKyVpbmNsdWRlIDxvc21vc2RyL3BpbXBsLmg+CisrCisrJWlnbm9yZSBvc21vc2Ry OjpkZXZpY2VfdDo6b3BlcmF0b3JbXTsgLy9pZ25vcmUgd2FybmluZ3MgYWJvdXQgJWV4dGVuZAor KworKyV0ZW1wbGF0ZShzdHJpbmdfc3RyaW5nX2RpY3RfdCkgc3RkOjptYXA8c3RkOjpzdHJpbmcs IHN0ZDo6c3RyaW5nPjsgLy9kZWZpbmUgYmVmb3JlIGRldmljZQorKyV0ZW1wbGF0ZShkZXZpY2Vz X3QpIHN0ZDo6dmVjdG9yPG9zbW9zZHI6OmRldmljZV90PjsKKyslaW5jbHVkZSA8b3Ntb3Nkci9k ZXZpY2UuaD4KKysKKysvLyVleHRlbmQgc3RkOjptYXA8c3RkOjpzdHJpbmcsIHN0ZDo6c3RyaW5n PnsKKysvLyAgICBzdGQ6OnN0cmluZyBfX2dldGl0ZW1fXyhzdGQ6OnN0cmluZyBrZXkpIHtyZXR1 cm4gKCpzZWxmKVtrZXldO30KKysvLyAgICB2b2lkIF9fc2V0aXRlbV9fKHN0ZDo6c3RyaW5nIGtl eSwgc3RkOjpzdHJpbmcgdmFsKSB7KCpzZWxmKVtrZXldID0gdmFsO30KKysvL307CisrCisrJXRl bXBsYXRlKHJhbmdlX3ZlY3Rvcl90KSBzdGQ6OnZlY3Rvcjxvc21vc2RyOjpyYW5nZV90PjsgLy9k ZWZpbmUgYmVmb3JlIHJhbmdlCisrJWluY2x1ZGUgPG9zbW9zZHIvcmFuZ2VzLmg+CisrCisrJWlu Y2x1ZGUgPG9zbW9zZHIvdGltZV9zcGVjLmg+CisrCisrJWV4dGVuZCBvc21vc2RyOjp0aW1lX3Nw ZWNfdHsKKysgICAgb3Ntb3Nkcjo6dGltZV9zcGVjX3QgX19hZGRfXyhjb25zdCBvc21vc2RyOjp0 aW1lX3NwZWNfdCAmd2hhdCkKKysgICAgeworKyAgICAgICAgb3Ntb3Nkcjo6dGltZV9zcGVjX3Qg dGVtcCA9ICpzZWxmOworKyAgICAgICAgdGVtcCArPSB3aGF0OworKyAgICAgICAgcmV0dXJuIHRl bXA7CisrICAgIH0KKysgICAgb3Ntb3Nkcjo6dGltZV9zcGVjX3QgX19zdWJfXyhjb25zdCBvc21v c2RyOjp0aW1lX3NwZWNfdCAmd2hhdCkKKysgICAgeworKyAgICAgICAgb3Ntb3Nkcjo6dGltZV9z cGVjX3QgdGVtcCA9ICpzZWxmOworKyAgICAgICAgdGVtcCAtPSB3aGF0OworKyAgICAgICAgcmV0 dXJuIHRlbXA7CisrICAgIH0KKyt9OworKworKyVkZWZpbmUgT1NNT1NEUl9TV0lHX0JMT0NLX01B R0lDMihQS0csIEJBU0VfTkFNRSkKKysldGVtcGxhdGUoQkFTRV9OQU1FICMjIF9zcHRyKSBib29z dDo6c2hhcmVkX3B0cjxQS0cgIyMgOjogIyMgQkFTRV9OQU1FPjsKKyslcHl0aG9uY29kZSAlewor K0JBU0VfTkFNRSAjIyBfc3B0ci5fX3JlcHJfXyA9IGxhbWJkYSBzZWxmOiAiPGdyX2Jsb2NrICVz ICglZCk+IiAlIChzZWxmLm5hbWUoKSwgc2VsZi51bmlxdWVfaWQoKSkKKytCQVNFX05BTUUgPSBC QVNFX05BTUUubWFrZTsKKyslfQorKyVlbmRkZWYKKysKKyAlaW5jbHVkZSAib3Ntb3Nkci9zb3Vy Y2UuaCIKKy1HUl9TV0lHX0JMT0NLX01BR0lDMihvc21vc2RyLCBzb3VyY2UpOworICVpbmNsdWRl ICJvc21vc2RyL3NpbmsuaCIKKy1HUl9TV0lHX0JMT0NLX01BR0lDMihvc21vc2RyLCBzaW5rKTsK KysKKytPU01PU0RSX1NXSUdfQkxPQ0tfTUFHSUMyKG9zbW9zZHIsc291cmNlKTsKKytPU01PU0RS X1NXSUdfQkxPQ0tfTUFHSUMyKG9zbW9zZHIsc2luayk7CisrCisrJXsKKytzdGF0aWMgY29uc3Qg c2l6ZV90IEFMTF9NQk9BUkRTID0gb3Ntb3Nkcjo6QUxMX01CT0FSRFM7CisrJX0KKysvL3N0YXRp YyBjb25zdCBzaXplX3QgQUxMX01CT0FSRFM7CistLSAKKzIuMjAuMQorCitGcm9tIGFjZGRmYmNk M2IyZmNjYmY5OGYwNzY0MTY3OWIxNDg4NDk4ODJmMjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiA9P1VURi04P3E/TWlja2V5PTIwVj1DMz1BNG5zaz1DMz1BND89IDxtdmFlbnNrYWVA Z21haWwuY29tPgorRGF0ZTogVHVlLCAxNiBBcHIgMjAxOSAxNDo0ODoyNCArMDIwMAorU3ViamVj dDogW1BBVENIIDUvN10gU21hbGwgY2xlYW51cC4KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50 LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IDhiaXQKKworU2lnbmVkLW9mZi1ieTogTWlja2V5IFbDpG5za8OkIDxtdmFlbnNrYWVAZ21h aWwuY29tPgorLS0tCisgZ3JjL2dlbl9vc21vc2RyX2Jsb2Nrcy5weSB8IDMgLS0tCisgMSBmaWxl IGNoYW5nZWQsIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ncmMvZ2VuX29zbW9zZHJf YmxvY2tzLnB5IGIvZ3JjL2dlbl9vc21vc2RyX2Jsb2Nrcy5weQoraW5kZXggYTRhN2Y5Ni4uODQw MzIwYSAxMDA2NDQKKy0tLSBncmMvZ2VuX29zbW9zZHJfYmxvY2tzLnB5CisrKysgZ3JjL2dlbl9v c21vc2RyX2Jsb2Nrcy5weQorQEAgLTM0Nyw5ICszNDcsNiBAQCBQQVJBTVNfVE1QTCA9ICIiIgor ICAgaGlkZTogJHsnJCd9eydhbGwnIGlmIG5vdCAobmNoYW4gPiAke259KSBlbHNlICgnbm9uZScg aWYgZXZhbCgnYncnICsgc3RyKCR7bn0pKSBlbHNlICdwYXJ0Jyl9CisgIiIiCisgCistIyBkZWYg cGFyc2VfdG1wbChfdG1wbCwgKiprd2FyZ3MpOgorLSMgICAgIGZyb20gQ2hlZXRhaCBpbXBvcnQg VGVtcGxhdGUKKy0jICAgICByZXR1cm4gc3RyKFRlbXBsYXRlLlRlbXBsYXRlKF90bXBsLCBrd2Fy Z3MpKQorIAorIGRlZiBwYXJzZV90bXBsKF90bXBsLCAqKmt3YXJncyk6CisgICAgIGZyb20gbWFr by50ZW1wbGF0ZSBpbXBvcnQgVGVtcGxhdGUKKy0tIAorMi4yMC4xCisKK0Zyb20gNTEyYWVkYTJj YzZhMjE3ZDU0M2MwMGY1YjAwZmVhNTcxYzg1ZTQ3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206ID0/VVRGLTg/cT9NaWNrZXk9MjBWPUMzPUE0bnNrPUMzPUE0Pz0gPG12YWVuc2thZUBn bWFpbC5jb20+CitEYXRlOiBUdWUsIDE2IEFwciAyMDE5IDE0OjU1OjI3ICswMjAwCitTdWJqZWN0 OiBbUEFUQ0ggNi83XSBVcGRhdGUgLmdpdGlnbm9yZSBmb3IgSURFQSBleGNlcHRpb25zLgorTUlN RS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAor Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitTaWduZWQtb2ZmLWJ5OiBNaWNrZXkg VsOkbnNrw6QgPG12YWVuc2thZUBnbWFpbC5jb20+CistLS0KKyAuZ2l0aWdub3JlIHwgNjggKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBm aWxlIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUg Yi8uZ2l0aWdub3JlCitpbmRleCA0NTA1ZGY4Li4wNWUwMDRmIDEwMDY0NAorLS0tIC5naXRpZ25v cmUKKysrKyAuZ2l0aWdub3JlCitAQCAtNCwzICs0LDcxIEBACisgYnVpbGQqLworIGNtYWtlLSoK KyBsaWJvc21vLWRzcC8qCisrCisrIyBDb3ZlcnMgSmV0QnJhaW5zIElERXM6IEludGVsbGlKLCBS dWJ5TWluZSwgUGhwU3Rvcm0sIEFwcENvZGUsIFB5Q2hhcm0sIENMaW9uLCBBbmRyb2lkIFN0dWRp byBhbmQgV2ViU3Rvcm0KKysjIFJlZmVyZW5jZTogaHR0cHM6Ly9pbnRlbGxpai1zdXBwb3J0Lmpl dGJyYWlucy5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvMjA2NTQ0ODM5CisrCisrIyBVc2VyLXNwZWNp ZmljIHN0dWZmCisrLmlkZWEKKysuaWRlYS8qKi93b3Jrc3BhY2UueG1sCisrLmlkZWEvKiovdGFz a3MueG1sCisrLmlkZWEvKiovdXNhZ2Uuc3RhdGlzdGljcy54bWwKKysuaWRlYS8qKi9kaWN0aW9u YXJpZXMKKysuaWRlYS8qKi9zaGVsZgorKworKyMgR2VuZXJhdGVkIGZpbGVzCisrLmlkZWEvKiov Y29udGVudE1vZGVsLnhtbAorKworKyMgU2Vuc2l0aXZlIG9yIGhpZ2gtY2h1cm4gZmlsZXMKKysu aWRlYS8qKi9kYXRhU291cmNlcy8KKysuaWRlYS8qKi9kYXRhU291cmNlcy5pZHMKKysuaWRlYS8q Ki9kYXRhU291cmNlcy5sb2NhbC54bWwKKysuaWRlYS8qKi9zcWxEYXRhU291cmNlcy54bWwKKysu aWRlYS8qKi9keW5hbWljLnhtbAorKy5pZGVhLyoqL3VpRGVzaWduZXIueG1sCisrLmlkZWEvKiov ZGJuYXZpZ2F0b3IueG1sCisrCisrIyBHcmFkbGUKKysuaWRlYS8qKi9ncmFkbGUueG1sCisrLmlk ZWEvKiovbGlicmFyaWVzCisrCisrIyBHcmFkbGUgYW5kIE1hdmVuIHdpdGggYXV0by1pbXBvcnQK KysjIFdoZW4gdXNpbmcgR3JhZGxlIG9yIE1hdmVuIHdpdGggYXV0by1pbXBvcnQsIHlvdSBzaG91 bGQgZXhjbHVkZSBtb2R1bGUgZmlsZXMsCisrIyBzaW5jZSB0aGV5IHdpbGwgYmUgcmVjcmVhdGVk LCBhbmQgbWF5IGNhdXNlIGNodXJuLiAgVW5jb21tZW50IGlmIHVzaW5nCisrIyBhdXRvLWltcG9y dC4KKysjIC5pZGVhL21vZHVsZXMueG1sCisrIyAuaWRlYS8qLmltbAorKyMgLmlkZWEvbW9kdWxl cworKworKyMgQ01ha2UKKytjbWFrZS1idWlsZC0qLworKworKyMgTW9uZ28gRXhwbG9yZXIgcGx1 Z2luCisrLmlkZWEvKiovbW9uZ29TZXR0aW5ncy54bWwKKysKKysjIEZpbGUtYmFzZWQgcHJvamVj dCBmb3JtYXQKKysqLml3cworKworKyMgSW50ZWxsaUoKKytvdXQvCisrCisrIyBtcGVsdG9uZW4v c2J0LWlkZWEgcGx1Z2luCisrLmlkZWFfbW9kdWxlcy8KKysKKysjIEpJUkEgcGx1Z2luCisrYXRs YXNzaWFuLWlkZS1wbHVnaW4ueG1sCisrCisrIyBDdXJzaXZlIENsb2p1cmUgcGx1Z2luCisrLmlk ZWEvcmVwbHN0YXRlLnhtbAorKworKyMgQ3Jhc2hseXRpY3MgcGx1Z2luIChmb3IgQW5kcm9pZCBT dHVkaW8gYW5kIEludGVsbGlKKQorK2NvbV9jcmFzaGx5dGljc19leHBvcnRfc3RyaW5ncy54bWwK KytjcmFzaGx5dGljcy5wcm9wZXJ0aWVzCisrY3Jhc2hseXRpY3MtYnVpbGQucHJvcGVydGllcwor K2ZhYnJpYy5wcm9wZXJ0aWVzCisrCisrIyBFZGl0b3ItYmFzZWQgUmVzdCBDbGllbnQKKysuaWRl YS9odHRwUmVxdWVzdHMKKysKKysjIEFuZHJvaWQgc3R1ZGlvIDMuMSsgc2VyaWFsaXplZCBjYWNo ZSBmaWxlCisrLmlkZWEvY2FjaGVzL2J1aWxkX2ZpbGVfY2hlY2tzdW1zLnNlcgorLS0gCisyLjIw LjEKKworRnJvbSBmMzkwNWQzNTEwZGZiMzg1MWY5NDZmMDk3YTllMmRkYWE1ZmIzMzNiIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSWdvciBGcmVpcmUgPGlnb3IuYXVhZEBnbWFpbC5j b20+CitEYXRlOiBNb24sIDEzIE1heSAyMDE5IDE2OjAwOjA3IC0wMzAwCitTdWJqZWN0OiBbUEFU Q0ggNy83XSBJbmNsdWRlIGdudXJhZGlvLWJsb2NrcyBvbiB0aGUgY21ha2UgYnVpbGQKKworLS0t CisgQ01ha2VMaXN0cy50eHQgICAgIHwgNCArKy0tCisgbGliL0NNYWtlTGlzdHMudHh0IHwgMSAr CisgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCBmODM2MjMz Li43NjM3NWRjIDEwMDY0NAorLS0tIENNYWtlTGlzdHMudHh0CisrKysgQ01ha2VMaXN0cy50eHQK K0BAIC0xNjcsMTAgKzE2NywxMCBAQCBlbmRpZihBUFBMRSkKKyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyBz ZXQoR1JfUkVRVUlSRURfQ09NUE9ORU5UUyBSVU5USU1FIFBNVCBCTE9DS1MpCisgCistI1tbZmlu ZF9wYWNrYWdlKGdudXJhZGlvLWJsb2NrcyBQQVRIUyAke0dSX1BSRUZJWH0vbGliL2NtYWtlL2du dXJhZGlvLykKKytmaW5kX3BhY2thZ2UoZ251cmFkaW8tYmxvY2tzIFBBVEhTICR7R1JfUFJFRklY fS9saWIvY21ha2UvZ251cmFkaW8vKQorIG1lc3NhZ2UoU1RBVFVTICJGb3VuZCBCbG9jayBCbG9j azogJHtnbnVyYWRpby1ibG9ja3NfRk9VTkR9IikKKyAKKy1maW5kX3BhY2thZ2UoZ251cmFkaW8t cG10IFBBVEhTICR7R1JfUFJFRklYfS9saWIvY21ha2UvZ251cmFkaW8vKQorKyNbW2ZpbmRfcGFj a2FnZShnbnVyYWRpby1wbXQgUEFUSFMgJHtHUl9QUkVGSVh9L2xpYi9jbWFrZS9nbnVyYWRpby8p CisgbWVzc2FnZShTVEFUVVMgIkZvdW5kIFBNVCBCbG9jazogJHtnbnVyYWRpby1wbXRfRk9VTkR9 IikKKyAKKyBmaW5kX3BhY2thZ2UoZ251cmFkaW8tcnVudGltZSBQQVRIUyAke0dSX1BSRUZJWH0v bGliL2NtYWtlL2dudXJhZGlvLykKK2RpZmYgLS1naXQgYS9saWIvQ01ha2VMaXN0cy50eHQgYi9s aWIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDI5ZmQ2ZDAuLjIxNzFkZjIgMTAwNjQ0CistLS0gbGli L0NNYWtlTGlzdHMudHh0CisrKysgbGliL0NNYWtlTGlzdHMudHh0CitAQCAtNTEsNiArNTEsNyBA QCBlbmRpZigpCisgCisgR1JfT1NNT1NEUl9BUFBFTkRfTElCUygKKyAgICAgJHtCb29zdF9MSUJS QVJJRVN9CisrICAgIGdudXJhZGlvOjpnbnVyYWRpby1ibG9ja3MKKyAgICAgJHtHTlVSQURJT19B TExfTElCUkFSSUVTfQorICkKKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Z251cmFkaW8tb3Ntb3Nkci9wYXRjaGVzLzAwMDItZmluZC1ncjM4LWJsb2Nrcy5wYXRjaCBiL3Ny Y3BrZ3MvZ251cmFkaW8tb3Ntb3Nkci9wYXRjaGVzLzAwMDItZmluZC1ncjM4LWJsb2Nrcy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmVkNTFiODIzNzkKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2dudXJhZGlvLW9zbW9zZHIvcGF0Y2hlcy8wMDAyLWZp bmQtZ3IzOC1ibG9ja3MucGF0Y2gKQEAgLTAsMCArMSw2NSBAQAorRnJvbSBmMDU0YzYzYmQ1Njcw NGI1ZGQ2YjE0NDYyMmJlOWRlOTViYTJlZDcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogIkEuIE1haXRsYW5kIEJvdHRvbXMiIDxib3R0b21zQGRlYmlhbi5vcmc+CitEYXRlOiBTdW4s IDEgRGVjIDIwMTkgMTc6MjM6NDMgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIGZpbmQgZ3Iz OCBibG9ja3MKKworLS0tCisgQ01ha2VMaXN0cy50eHQgICAgIHwgOCArKysrLS0tLQorIGxpYi9D TWFrZUxpc3RzLnR4dCB8IDQgKystLQorIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCsp LCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxp c3RzLnR4dAoraW5kZXggNzYzNzVkYy4uMGNiOTRkNSAxMDA2NDQKKy0tLSBDTWFrZUxpc3RzLnR4 dAorKysrIENNYWtlTGlzdHMudHh0CitAQCAtMTEyLDcgKzExMiw3IEBAIEVORElGKCkKKyAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKyAjIEluc3RhbGwgZGlyZWN0b3JpZXMKKyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1m aW5kX3BhY2thZ2UoR251cmFkaW8gUkVRVUlSRUQpICMgU2lkZSBlZmZlY3Qgb2YgTU9EVUxFX1BB VEggZ2V0dGluZyBwcmVwZW5kZWQgd2l0aCBzeXN0ZW0gY29tcG9uZW50cworK2ZpbmRfcGFja2Fn ZShHbnVyYWRpbyBSRVFVSVJFRCBDT01QT05FTlRTIGJsb2NrcykgIyBTaWRlIGVmZmVjdCBvZiBN T0RVTEVfUEFUSCBnZXR0aW5nIHByZXBlbmRlZCB3aXRoIHN5c3RlbSBjb21wb25lbnRzCisgbGlz dChSRVZFUlNFIENNQUtFX01PRFVMRV9QQVRIKQorIHNldChNSU5fR1JfVkVSU0lPTiAiMy44IikK KyBpZigiJHtHbnVyYWRpb19WRVJTSU9OfSIgVkVSU0lPTl9MRVNTIE1JTl9HUl9WRVJTSU9OKQor QEAgLTE2NywxMyArMTY3LDEzIEBAIGVuZGlmKEFQUExFKQorICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIHNl dChHUl9SRVFVSVJFRF9DT01QT05FTlRTIFJVTlRJTUUgUE1UIEJMT0NLUykKKyAKKy1maW5kX3Bh Y2thZ2UoZ251cmFkaW8tYmxvY2tzIFBBVEhTICR7R1JfUFJFRklYfS9saWIvY21ha2UvZ251cmFk aW8vKQorK2ZpbmRfcGFja2FnZShnbnVyYWRpby1ibG9ja3MgUEFUSFMgJHtHbnVyYWRpb19ESVJ9 KQorIG1lc3NhZ2UoU1RBVFVTICJGb3VuZCBCbG9jayBCbG9jazogJHtnbnVyYWRpby1ibG9ja3Nf Rk9VTkR9IikKKyAKKy0jW1tmaW5kX3BhY2thZ2UoZ251cmFkaW8tcG10IFBBVEhTICR7R1JfUFJF RklYfS9saWIvY21ha2UvZ251cmFkaW8vKQorKyNbW2ZpbmRfcGFja2FnZShnbnVyYWRpby1wbXQg UEFUSFMgJHtHbnVyYWRpb19ESVJ9KQorIG1lc3NhZ2UoU1RBVFVTICJGb3VuZCBQTVQgQmxvY2s6 ICR7Z251cmFkaW8tcG10X0ZPVU5EfSIpCisgCistZmluZF9wYWNrYWdlKGdudXJhZGlvLXJ1bnRp bWUgUEFUSFMgJHtHUl9QUkVGSVh9L2xpYi9jbWFrZS9nbnVyYWRpby8pCisrZmluZF9wYWNrYWdl KGdudXJhZGlvLXJ1bnRpbWUgUEFUSFMgJHtHbnVyYWRpb19ESVJ9KQorIG1lc3NhZ2UoU1RBVFVT ICJGb3VuZCBSdW50aW1lIEJsb2NrOiAke2dudXJhZGlvLXJ1bnRpbWVfRk9VTkR9IikKKyAKKyAj IFNvZnR3YXJlIENvbXBvbmVudHMgcGFydCBvZiBHTlUgUmFkaW8gLSBUaGVzZSBzaG91bGQgYWxs IGJlIHByZXNlbnQgZm9yIGEgZGVmYXVsdCBpbnN0YWxsCitkaWZmIC0tZ2l0IGEvbGliL0NNYWtl TGlzdHMudHh0IGIvbGliL0NNYWtlTGlzdHMudHh0CitpbmRleCAyMTcxZGYyLi41ZTMwOThkIDEw MDY0NAorLS0tIGxpYi9DTWFrZUxpc3RzLnR4dAorKysrIGxpYi9DTWFrZUxpc3RzLnR4dAorQEAg LTEzNyw3ICsxMzcsNyBAQCBlbmRpZihFTkFCTEVfT1NNT1NEUikKKyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KyAjIFNldHVwIEZpbGUgY29tcG9uZW50CisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistR1JfUkVHSVNURVJf Q09NUE9ORU5UKCJJUSBGaWxlIFNvdXJjZSAmIFNpbmsiIEVOQUJMRV9GSUxFIEdOVVJBRElPX0JM T0NLU19GT1VORCkKKytHUl9SRUdJU1RFUl9DT01QT05FTlQoIklRIEZpbGUgU291cmNlICYgU2lu ayIgRU5BQkxFX0ZJTEUgZ251cmFkaW8tYmxvY2tzX0ZPVU5EKQorIGlmKEVOQUJMRV9GSUxFKQor IEdSX0lOQ0xVREVfU1VCRElSRUNUT1JZKGZpbGUpCisgZW5kaWYoRU5BQkxFX0ZJTEUpCitAQCAt MTUzLDcgKzE1Myw3IEBAIGVuZGlmKEVOQUJMRV9SVEwpCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBT ZXR1cCBSVExfVENQIGNvbXBvbmVudAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLUdSX1JFR0lTVEVSX0NP TVBPTkVOVCgiUlRMU0RSIFRDUCBDbGllbnQiIEVOQUJMRV9SVExfVENQIEdOVVJBRElPX0JMT0NL U19GT1VORCkKKytHUl9SRUdJU1RFUl9DT01QT05FTlQoIlJUTFNEUiBUQ1AgQ2xpZW50IiBFTkFC TEVfUlRMX1RDUCBnbnVyYWRpby1ibG9ja3NfRk9VTkQpCisgaWYoRU5BQkxFX1JUTF9UQ1ApCisg R1JfSU5DTFVERV9TVUJESVJFQ1RPUlkocnRsX3RjcCkKKyBlbmRpZihFTkFCTEVfUlRMX1RDUCkK Ky0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ251cmFkaW8tb3Ntb3Nkci90ZW1w bGF0ZSBiL3NyY3BrZ3MvZ251cmFkaW8tb3Ntb3Nkci90ZW1wbGF0ZQppbmRleCA1NzllN2FkMGE2 OS4uZmI1ZGZhMDgyM2YgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ251cmFkaW8tb3Ntb3Nkci90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL2dudXJhZGlvLW9zbW9zZHIvdGVtcGxhdGUKQEAgLTEsMTkgKzEs MTggQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2dudXJhZGlvLW9zbW9zZHInCiBwa2duYW1lPWdu dXJhZGlvLW9zbW9zZHIKLXZlcnNpb249MC4xLjQKLXJldmlzaW9uPTcKK3ZlcnNpb249MC4xLjUK K3JldmlzaW9uPTEKIHdya3NyYz0iZ3Itb3Ntb3Nkci0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9 Y21ha2UKLXB5Y29tcGlsZV9tb2R1bGU9Im9zbW9zZHIiCi1ob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWcgcHl0aG9uLWNoZWV0YWggc3dpZyIKK2hvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBz d2lnIgogbWFrZWRlcGVuZHM9ImJvb3N0LWRldmVsIGdudXJhZGlvLWRldmVsIGxpYmFpcnNweS1k ZXZlbCBsaWJoYWNrcmYtZGV2ZWwgbGlicnRsc2RyLWRldmVsCi0gcHl0aG9uLWRldmVsIHVoZC1k ZXZlbCIKKyBweXRob24zLWRldmVsIHVoZC1kZXZlbCBsb2c0Y3BwLWRldmVsIG1waXItZGV2ZWwg U29hcHlTRFItZGV2ZWwgdm9say1kZXZlbCIKIHNob3J0X2Rlc2M9IkdOVSBSYWRpbyBzb3VyY2Ug YmxvY2sgZm9yIHJ0bHNkciwgaGFja3JmIGFuZCBhaXJzcHkiCi1tYWludGFpbmVyPSJicmExbndh dmUgPGJyYWlud2F2ZUBvcGVubWFpbGJveC5vcmc+IgorbWFpbnRhaW5lcj0iYnJhMW53YXZlIDxi cmExbndhdmVAcHJvdG9ubWFpbC5jb20+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhv bWVwYWdlPSJodHRwczovL3Nkci5vc21vY29tLm9yZy90cmFjLyIKIGRpc3RmaWxlcz0iaHR0cHM6 Ly9naXRodWIuY29tL29zbW9jb20vZ3Itb3Ntb3Nkci9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5n eiIKLWNoZWNrc3VtPWJjZjlhOWIxNzYwZTY2N2M0MWEzNTRlOGNkNDFlZjkxMWQwOTI5ZDVlNGEx OGUwNTk0Y2NiMzMyMGQ3MzUwNjYKK2NoZWNrc3VtPWE1ODIwZTgwNDY1ZDg5NWE5YjRiNzNlMGZm MDE5MjRkNmI2MTJhOWEzOTBiYmQzNDg4MTc3Mzc5YTk1MzlkMDAKIAogZ251cmFkaW8tb3Ntb3Nk ci1kZXZlbF9wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIK QEAgLTIxLDYgKzIwLDcgQEAgZ251cmFkaW8tb3Ntb3Nkci1kZXZlbF9wYWNrYWdlKCkgewogCXBr Z19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSAidXNyL2xpYi8qLnNv IgorCQl2bW92ZSB1c3IvbGliL2NtYWtlCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJfQog fQoKRnJvbSAwOThiZjNlZjc3YmRmMzM0ZWM4YWNmODhhZDk5NjQ0OGI4ZjdiZTlkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBicmExbndhdmUgPGJyYTFud2F2ZUBwcm90b25tYWlsLmNv bT4KRGF0ZTogU3VuLCAyIEZlYiAyMDIwIDA4OjM3OjQ4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAw Ni8xMF0gZ3FyeDogdXBkYXRlIHRvIDIuMTIuMS4KCltza2lwIGNpXQotLS0KIHNyY3BrZ3MvZ3Fy eC90ZW1wbGF0ZSB8IDE1ICsrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0 aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dxcngvdGVtcGxh dGUgYi9zcmNwa2dzL2dxcngvdGVtcGxhdGUKaW5kZXggOTY4ZDExODUwNmQuLjljYjkxNjU5YmQx IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dxcngvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9ncXJ4L3Rl bXBsYXRlCkBAIC0xLDIwICsxLDIxIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdncXJ4JwogcGtn bmFtZT1ncXJ4Ci12ZXJzaW9uPTIuMTEuNQotcmV2aXNpb249Ngotd3Jrc3JjPSJncXJ4LXNkci0k e3ZlcnNpb259IgordmVyc2lvbj0yLjEyLjEKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtl CiBjb25maWd1cmVfYXJncz0iJCh2b3B0X2lmIGdyX2F1ZGlvIC1ETElOVVhfQVVESU9fQkFDS0VO RD1Hci1hdWRpbykKICAkKHZvcHRfaWYgcG9ydGF1ZGlvIC1ETElOVVhfQVVESU9fQkFDS0VORD1Q b3J0YXVkaW8pIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9ImJv b3N0LWRldmVsIGdudXJhZGlvLWRldmVsIGdudXJhZGlvLW9zbW9zZHItZGV2ZWwgcHVsc2VhdWRp by1kZXZlbAotIHF0NS1zdmctZGV2ZWwgJCh2b3B0X2lmIHBvcnRhdWRpbyBwb3J0YXVkaW8tZGV2 ZWwpIgorIHF0NS1zdmctZGV2ZWwgbG9nNGNwcC1kZXZlbCBtcGlyLWRldmVsIHZvbGstZGV2ZWwg ZmZ0dy1kZXZlbCBweXRob24zLWRldmVsCisgYWxzYS1saWItZGV2ZWwgamFjay1kZXZlbCAkKHZv cHRfaWYgcG9ydGF1ZGlvIHBvcnRhdWRpby1kZXZlbCkiCiBzaG9ydF9kZXNjPSJTb2Z0d2FyZSBk ZWZpbmVkIHJhZGlvIHJlY2VpdmVyIHBvd2VyZWQgYnkgR05VIFJhZGlvIGFuZCBRdCIKLW1haW50 YWluZXI9ImJyYTFud2F2ZSA8YnJhaW53YXZlQG9wZW5tYWlsYm94Lm9yZz4iCittYWludGFpbmVy PSJicmExbndhdmUgPGJyYTFud2F2ZUBwcm90b25tYWlsLmNvbT4iCiBsaWNlbnNlPSJHUEwtMy4w LW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHA6Ly9ncXJ4LmRrLyIKLWRpc3RmaWxlcz0iaHR0cHM6 Ly9naXRodWIuY29tL2NzZXRlL2dxcngvcmVsZWFzZXMvZG93bmxvYWQvdiR7dmVyc2lvbn0vZ3Fy eC1zZHItJHt2ZXJzaW9ufS1zcmMudGFyLnh6IgotY2hlY2tzdW09NzkzMDYyZWY3YjQ5YTNmOTg2 YjgyYTI1NWY5NDljZGRhNDIzMzMxMDdmYzVmY2VhMTBmZDEzZGI3NDE1Nzc0NAorY2hhbmdlbG9n PSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vY3NldGUvZ3FyeC9tYXN0ZXIvcmVz b3VyY2VzL25ld3MudHh0IgorZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vY3NldGUvZ3Fy eC9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPTdjNjI2ZGI5ZjIyYzNlZGJl MzAyOTlhMDhmN2Y1NDliNGYzMGRkODNjODgzNTk1NDY4MDI5YTI3YzNlOGZkYTkKIAogYnVpbGRf b3B0aW9ucz0iZ3JfYXVkaW8gcG9ydGF1ZGlvIgogdm9wdF9jb25mbGljdCBncl9hdWRpbyBwb3J0 YXVkaW8KCkZyb20gZDM4ZWY0NWJhMGU3YmY4NTNkMzkyZWJmMjk2ZTE2YzQwOTdjODJhOSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogYnJhMW53YXZlIDxicmExbndhdmVAcHJvdG9ubWFp bC5jb20+CkRhdGU6IFN1biwgMiBGZWIgMjAyMCAwODo0MjozNiArMDEwMApTdWJqZWN0OiBbUEFU Q0ggMDcvMTBdIGdudXJhZGlvLXJkczogdXBkYXRlIHRvIDMuOC4wLgoKW3NraXAgY2ldCi0tLQog Y29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgfCAgMiArLQogc3JjcGtncy9nbnVyYWRpby1y ZHMvdGVtcGxhdGUgfCAxMCArKysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9u cygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9u L3NobGlicwppbmRleCBlNGFkY2E5NTM4OC4uZTRjZmRkOGJhYWYgMTAwNjQ0Ci0tLSBhL2NvbW1v bi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMzUwNSw3ICszNTA1LDcgQEAgbGlibGxo dHRwLnNvLjEgbGxodHRwLTEuMC4xXzEKIGxpYnBpbnlpbi5zby4xMyBsaWJwaW55aW4tMi4yLjFf MQogbGlidWhkLnNvLjMuMTUuMCB1aGQtMy4xNS4wLjBfMQogbGliZWRpdGxpbmUuc28uMSBlZGl0 bGluZS0xLjE2LjBfMQotbGliZ251cmFkaW8tcmRzLTMuNy4wZ2l0LnNvLjAuMC4wIGdudXJhZGlv LXJkcy0xLjEuMF8xCitsaWJnbnVyYWRpby1yZHMuc28uMSBnbnVyYWRpby1yZHMtMy44LjBfMQog bGliZ251cmFkaW8tbnJzYzUtMS4wLjBnaXQuc28uMC4wLjAgZ251cmFkaW8tbnJzYzUtMS4wLjBf MQogbGlidmtkM2QtdXRpbHMuc28uMSB2a2QzZC0xLjFfMQogbGlidmtkM2Quc28uMSB2a2QzZC0x LjFfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbnVyYWRpby1yZHMvdGVtcGxhdGUgYi9zcmNwa2dz L2dudXJhZGlvLXJkcy90ZW1wbGF0ZQppbmRleCAwODk0N2QxYTk3NS4uODJmMWMyODllODAgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvZ251cmFkaW8tcmRzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ251 cmFkaW8tcmRzL3RlbXBsYXRlCkBAIC0xLDIzICsxLDI1IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdnbnVyYWRpby1yZHMnCiBwa2duYW1lPWdudXJhZGlvLXJkcwotdmVyc2lvbj0xLjEuMAotcmV2 aXNpb249MgordmVyc2lvbj0zLjguMAorcmV2aXNpb249MQogd3Jrc3JjPSJnci1yZHMtJHt2ZXJz aW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgc3dp ZyIKLW1ha2VkZXBlbmRzPSJnbnVyYWRpby1kZXZlbCBweXRob24tZGV2ZWwgYm9vc3QtZGV2ZWwi CittYWtlZGVwZW5kcz0iZ251cmFkaW8tZGV2ZWwgcHl0aG9uMy1kZXZlbCBib29zdC1kZXZlbCBs b2c0Y3BwLWRldmVsCisgbXBpci1kZXZlbCB2b2xrLWRldmVsIgogc2hvcnRfZGVzYz0iR05VcmFk aW8gRk0gUkRTL1RNQyBUcmFuc2NlaXZlciIKIG1haW50YWluZXI9IlJlbWkgUG9tbWFyZWwgPHJl cGtAdHJpcGxlZmF1Lmx0PiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0i aHR0cHM6Ly9naXRodWIuY29tL2Jhc3RpYmwvZ3ItcmRzLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9n aXRodWIuY29tL2Jhc3RpYmwvZ3ItcmRzL2FyY2hpdmUvdiR7dmVyc2lvbn0udGFyLmd6IgotY2hl Y2tzdW09NTAzNTc0ZWQ0NGUwMGNhYmExZmIyYWVkNzcyMmZhYzQ4N2MzMThlNTdjYjQzOGQzYWY3 ODMzY2Q5MWRmZmIyMgorY2hlY2tzdW09MzljYWRhOTk2ZWNhOWYzNjJmYjA3NTQ4YzVmNGY3Yjk1 YzlkMTM4YzM4NTlhYTdhNjczYTU4Y2MxMDVmNTYzYQogCiBnbnVyYWRpby1yZHMtZGV2ZWxfcGFj a2FnZSgpIHsKIAlkZXBlbmRzPSIke21ha2VkZXBlbmRzfSAke3NvdXJjZXBrZ30tJHt2ZXJzaW9u fV8ke3JldmlzaW9ufSIKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCiAJcGtn X2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvY21ha2UK IAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAl9CiB9CgpGcm9tIDc4YjM2NTJmMDFhODk3NGRiODJk MmMwMDNkMjhlMjU1ZGE1M2RlY2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGJyYTFu d2F2ZSA8YnJhMW53YXZlQHByb3Rvbm1haWwuY29tPgpEYXRlOiBTdW4sIDIgRmViIDIwMjAgMTA6 MDc6MzUgKzAxMDAKU3ViamVjdDogW1BBVENIIDA4LzEwXSBnbnVyYWRpby1ucnNjNTogcmVidWls ZCBhZ2FpbnN0IGdudXJhZGlvLTMuOC4wLjBfMQoKW3NraXAgY2ldCi0tLQogc3JjcGtncy9nbnVy YWRpby1ucnNjNS9wYXRjaGVzL3B5My44LnBhdGNoIHwgMTMxMjEgKysrKysrKysrKysrKysrKysr Kwogc3JjcGtncy9nbnVyYWRpby1ucnNjNS90ZW1wbGF0ZSAgICAgICAgICAgIHwgICAgIDcgKy0K IDIgZmlsZXMgY2hhbmdlZCwgMTMxMjUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2dudXJhZGlvLW5yc2M1L3BhdGNoZXMvcHkzLjgucGF0 Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dudXJhZGlvLW5yc2M1L3BhdGNoZXMvcHkzLjgucGF0 Y2ggYi9zcmNwa2dzL2dudXJhZGlvLW5yc2M1L3BhdGNoZXMvcHkzLjgucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjU0ZjNiYjU5YjMzCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9nbnVyYWRpby1ucnNjNS9wYXRjaGVzL3B5My44LnBhdGNoCkBAIC0wLDAg KzEsMTMxMjEgQEAKK2h0dHBzOi8vZ2l0aHViLmNvbS9hcmdpbG8vZ3ItbnJzYzUvY29tbWl0LzRm NWZlNjllNjlkZDJkY2VmOTk1ODJmN2Q0MzkzNjYwZjc4MzA4YmYucGF0Y2gKKworRnJvbSA0ZjVm ZTY5ZTY5ZGQyZGNlZjk5NTgyZjdkNDM5MzY2MGY3ODMwOGJmIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogQ2xheXRvbiBTbWl0aCA8YXJnaWxvQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwg MjcgSnVsIDIwMTkgMTA6MzQ6MjkgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gR05VIFJhZGlvIDMu OCBzdXBwb3J0LgorCistLS0KKyBDTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMTQ3ICstCisgUkVBRE1FLm1kICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgMSAtCisgYXBwcy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgMyArLQorIGFwcHMvaGRfdHhfaGFja3JmLmdyYyAgICAgICAgICAgICAg ICAgICAgICAgICB8IDI2NzkgLS0tLS0tLS0tLS0tLQorIGFwcHMvaGRfdHhfaGFja3JmLnB5ICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAxNTcgLQorIGFwcHMvaGRfdHhfcnRsX2ZpbGUuZ3Jj ICAgICAgICAgICAgICAgICAgICAgICB8IDE5MDggKysrLS0tLS0tLQorIGFwcHMvaGRfdHhfcnRs X2ZpbGUucHkgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTIgKy0KKyBhcHBzL2hkX3R4X3Vz cnAuZ3JjICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzMzMzICsrKysrLS0tLS0tLS0tLS0t CisgYXBwcy9oZF90eF91c3JwLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA5MCAr LQorIGNtYWtlL01vZHVsZXMvQ01ha2VQYXJzZUFyZ3VtZW50c0NvcHkuY21ha2UgICB8ICAgIDIg Ky0KKyBjbWFrZS9Nb2R1bGVzL0ZpbmRDcHBVbml0LmNtYWtlICAgICAgICAgICAgICAgfCAgIDM5 IC0KKyBjbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb1J1bnRpbWUuY21ha2UgICAgICAgfCAgIDM2 IC0KKyBjbWFrZS9Nb2R1bGVzL0dyTWlzY1V0aWxzLmNtYWtlICAgICAgICAgICAgICAgfCAgNTI4 IC0tLQorIGNtYWtlL01vZHVsZXMvR3JQbGF0Zm9ybS5jbWFrZSAgICAgICAgICAgICAgICB8ICAg NjIgLQorIGNtYWtlL01vZHVsZXMvR3JQeXRob24uY21ha2UgICAgICAgICAgICAgICAgICB8ICAy NDEgLS0KKyBjbWFrZS9Nb2R1bGVzL0dyU3dpZy5jbWFrZSAgICAgICAgICAgICAgICAgICAgfCAg MjU2IC0tCisgY21ha2UvTW9kdWxlcy9HclRlc3QuY21ha2UgICAgICAgICAgICAgICAgICAgIHwg IDE0MyAtCisgY21ha2UvTW9kdWxlcy9Vc2VTV0lHLmNtYWtlICAgICAgICAgICAgICAgICAgIHwg IDMwNCAtLQorIGNtYWtlL01vZHVsZXMvbnJzYzVDb25maWcuY21ha2UgICAgICAgICAgICAgICB8 ICAgIDUgKy0KKyAuLi4vTW9kdWxlcy90YXJnZXRDb25maWcuY21ha2UuaW4gICAgICAgICAgICAg fCAgIDQwICstCisgZG9jcy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICAgMyArLQorIGRvY3MvZG94eWdlbi9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAg ICB8ICAgIDMgKy0KKyBkb2NzL2RveHlnZW4vRG94eWZpbGUuaW4gICAgICAgICAgICAgICAgICAg ICAgfCAgIDEwICstCisgZG9jcy9kb3h5Z2VuL0RveHlmaWxlLnN3aWdfZG9jLmluICAgICAgICAg ICAgIHwgICAgOCArLQorIGRvY3MvZG94eWdlbi9kb3h5eG1sL19faW5pdF9fLnB5ICAgICAgICAg ICAgICB8ICAgIDYgKy0KKyBkb2NzL2RveHlnZW4vZG94eXhtbC9iYXNlLnB5ICAgICAgICAgICAg ICAgICAgfCAgIDIxICstCisgZG9jcy9kb3h5Z2VuL2RveHl4bWwvZG94eWluZGV4LnB5ICAgICAg ICAgICAgIHwgICAxMSArLQorIGRvY3MvZG94eWdlbi9kb3h5eG1sL2dlbmVyYXRlZC9fX2luaXRf Xy5weSAgICB8ICAgIDEgKworIGRvY3MvZG94eWdlbi9kb3h5eG1sL2dlbmVyYXRlZC9jb21wb3Vu ZC5weSAgICB8ICAgIDggKy0KKyAuLi4vZG94eXhtbC9nZW5lcmF0ZWQvY29tcG91bmRzdXBlci5w eSAgICAgICAgfCAgIDQwICstCisgZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2luZGV4 LnB5ICAgICAgIHwgICAgNiArLQorIGRvY3MvZG94eWdlbi9kb3h5eG1sL2dlbmVyYXRlZC9pbmRl eHN1cGVyLnB5ICB8ICAgMjEgKy0KKyBkb2NzL2RveHlnZW4vZG94eXhtbC90ZXh0LnB5ICAgICAg ICAgICAgICAgICAgfCAgICA4ICstCisgZG9jcy9kb3h5Z2VuL3N3aWdfZG9jLnB5ICAgICAgICAg ICAgICAgICAgICAgIHwgICAyNiArLQorIGdyYy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMjcgKy0KKyBncmMvbnJzYzVfaGRjX2VuY29kZXIuYmxvY2sueW1s ICAgICAgICAgICAgICAgfCAgIDMzICsKKyBncmMvbnJzYzVfaGRjX2VuY29kZXIueG1sICAgICAg ICAgICAgICAgICAgICAgfCAgIDMxIC0KKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDEuYmxv Y2sueW1sICAgICAgICAgfCAgIDI2ICsKKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDEueG1s ICAgICAgICAgICAgICAgfCAgIDIzIC0KKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDExLmJs b2NrLnltbCAgICAgICAgfCAgIDM0ICsKKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDExLnht bCAgICAgICAgICAgICAgfCAgIDMzIC0KKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDIuYmxv Y2sueW1sICAgICAgICAgfCAgIDMwICsKKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDIueG1s ICAgICAgICAgICAgICAgfCAgIDI4IC0KKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDMuYmxv Y2sueW1sICAgICAgICAgfCAgIDMwICsKKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDMueG1s ICAgICAgICAgICAgICAgfCAgIDI4IC0KKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDUuYmxv Y2sueW1sICAgICAgICAgfCAgIDM0ICsKKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDUueG1s ICAgICAgICAgICAgICAgfCAgIDMzIC0KKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDVfbXMx LmJsb2NrLnltbCAgICAgfCAgIDQ2ICsKKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDVfbXMx LnhtbCAgICAgICAgICAgfCAgIDQ4IC0KKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDYuYmxv Y2sueW1sICAgICAgICAgfCAgIDMwICsKKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDYueG1s ICAgICAgICAgICAgICAgfCAgIDI4IC0KKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDZfbXMx LmJsb2NrLnltbCAgICAgfCAgIDQyICsKKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDZfbXMx LnhtbCAgICAgICAgICAgfCAgIDQzIC0KKyBncmMvbnJzYzVfbDJfZW5jb2Rlci5ibG9jay55bWwg ICAgICAgICAgICAgICAgfCAgIDQ0ICsKKyBncmMvbnJzYzVfbDJfZW5jb2Rlci54bWwgICAgICAg ICAgICAgICAgICAgICAgfCAgIDcxIC0KKyBncmMvbnJzYzVfcHNkX2VuY29kZXIuYmxvY2sueW1s ICAgICAgICAgICAgICAgfCAgIDMxICsKKyBncmMvbnJzYzVfcHNkX2VuY29kZXIueG1sICAgICAg ICAgICAgICAgICAgICAgfCAgIDMxIC0KKyBncmMvbnJzYzVfc2lzX2VuY29kZXIuYmxvY2sueW1s ICAgICAgICAgICAgICAgfCAgIDI0ICsKKyBncmMvbnJzYzVfc2lzX2VuY29kZXIueG1sICAgICAg ICAgICAgICAgICAgICAgfCAgIDIwIC0KKyBpbmNsdWRlL25yc2M1L0NNYWtlTGlzdHMudHh0ICAg ICAgICAgICAgICAgICAgfCAgICA5ICstCisgaW5jbHVkZS9ucnNjNS9hcGkuaCAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgMyArLQorIGluY2x1ZGUvbnJzYzUvaGRjX2VuY29kZXIuaCAg ICAgICAgICAgICAgICAgICB8ICAgIDEgLQorIGluY2x1ZGUvbnJzYzUvbDFfZm1fZW5jb2Rlci5o ICAgICAgICAgICAgICAgICB8ICAgIDEgLQorIGluY2x1ZGUvbnJzYzUvbDJfZW5jb2Rlci5oICAg ICAgICAgICAgICAgICAgICB8ICAgIDEgLQorIGluY2x1ZGUvbnJzYzUvcHNkX2VuY29kZXIuaCAg ICAgICAgICAgICAgICAgICB8ICAgIDEgLQorIGluY2x1ZGUvbnJzYzUvc2lzX2VuY29kZXIuaCAg ICAgICAgICAgICAgICAgICB8ICAgIDEgLQorIGxpYi9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgNjQgKy0KKyBsaWIvaGRjX2VuY29kZXJfaW1wbC5jYyAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKKyBsaWIvaGRjX2VuY29kZXJfaW1wbC5oICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKKyBsaWIvbDFfZm1fZW5jb2Rlcl9pbXBsLmNjICAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKKyBsaWIvbDFfZm1fZW5jb2Rlcl9pbXBsLmggICAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKKyBsaWIvbDJfZW5jb2Rlcl9pbXBsLmNjICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKKyBsaWIvbDJfZW5jb2Rlcl9pbXBsLmggICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKKyBsaWIvcHNkX2VuY29kZXJfaW1wbC5jYyAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKKyBsaWIvcWFfbnJzYzUuY2MgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDM2IC0KKyBsaWIvcWFfbnJzYzUuaCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDM4IC0KKyBsaWIvc2lzX2VuY29kZXJfaW1wbC5jYyAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKKyBsaWIvdGVzdF9ucnNjNS5jYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDQ4IC0KKyBweXRob24vQ01ha2VMaXN0cy50eHQgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICA3ICstCisgcHl0aG9uL19faW5pdF9fLnB5ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgNyArLQorIHB5dGhvbi9idWlsZF91dGlscy5weSAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAyMjYgLS0KKyBweXRob24vcWFfaGRjX2VuY29kZXIucHkg ICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICstCisgcHl0aG9uL3FhX2wxX2ZtX2VuY29kZXIu cHkgICAgICAgICAgICAgICAgICAgIHwgICAxNCArLQorIHB5dGhvbi9xYV9sMl9lbmNvZGVyLnB5 ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKy0KKyBweXRob24vcWFfcHNkX2VuY29kZXIu cHkgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICstCisgcHl0aG9uL3FhX3Npc19lbmNvZGVy LnB5ICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArLQorIHN3aWcvQ01ha2VMaXN0cy50eHQg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTUgKy0KKyBzd2lnL25yc2M1X3N3aWcuaSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICstCisgODggZmlsZXMgY2hhbmdlZCwg MjExMiBpbnNlcnRpb25zKCspLCA5NDg1IGRlbGV0aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDY0 NCBhcHBzL2hkX3R4X2hhY2tyZi5ncmMKKyBkZWxldGUgbW9kZSAxMDA3NTUgYXBwcy9oZF90eF9o YWNrcmYucHkKKyBkZWxldGUgbW9kZSAxMDA2NDQgY21ha2UvTW9kdWxlcy9GaW5kQ3BwVW5pdC5j bWFrZQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb1J1bnRp bWUuY21ha2UKKyBkZWxldGUgbW9kZSAxMDA2NDQgY21ha2UvTW9kdWxlcy9Hck1pc2NVdGlscy5j bWFrZQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0dyUGxhdGZvcm0uY21ha2UK KyBkZWxldGUgbW9kZSAxMDA2NDQgY21ha2UvTW9kdWxlcy9HclB5dGhvbi5jbWFrZQorIGRlbGV0 ZSBtb2RlIDEwMDY0NCBjbWFrZS9Nb2R1bGVzL0dyU3dpZy5jbWFrZQorIGRlbGV0ZSBtb2RlIDEw MDY0NCBjbWFrZS9Nb2R1bGVzL0dyVGVzdC5jbWFrZQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBjbWFr ZS9Nb2R1bGVzL1VzZVNXSUcuY21ha2UKKyByZW5hbWUgcHl0aG9uL2J1aWxkX3V0aWxzX2NvZGVz LnB5ID0+IGNtYWtlL01vZHVsZXMvdGFyZ2V0Q29uZmlnLmNtYWtlLmluICg1MiUpCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdyYy9ucnNjNV9oZGNfZW5jb2Rlci5ibG9jay55bWwKKyBkZWxldGUgbW9k ZSAxMDA2NDQgZ3JjL25yc2M1X2hkY19lbmNvZGVyLnhtbAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBn cmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDEuYmxvY2sueW1sCisgZGVsZXRlIG1vZGUgMTAwNjQ0 IGdyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wMS54bWwKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ3Jj L25yc2M1X2wxX2ZtX2VuY29kZXJfbXAxMS5ibG9jay55bWwKKyBkZWxldGUgbW9kZSAxMDA2NDQg Z3JjL25yc2M1X2wxX2ZtX2VuY29kZXJfbXAxMS54bWwKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ3Jj L25yc2M1X2wxX2ZtX2VuY29kZXJfbXAyLmJsb2NrLnltbAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBn cmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDIueG1sCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdyYy9u cnNjNV9sMV9mbV9lbmNvZGVyX21wMy5ibG9jay55bWwKKyBkZWxldGUgbW9kZSAxMDA2NDQgZ3Jj L25yc2M1X2wxX2ZtX2VuY29kZXJfbXAzLnhtbAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBncmMvbnJz YzVfbDFfZm1fZW5jb2Rlcl9tcDUuYmxvY2sueW1sCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGdyYy9u cnNjNV9sMV9mbV9lbmNvZGVyX21wNS54bWwKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ3JjL25yc2M1 X2wxX2ZtX2VuY29kZXJfbXA1X21zMS5ibG9jay55bWwKKyBkZWxldGUgbW9kZSAxMDA2NDQgZ3Jj L25yc2M1X2wxX2ZtX2VuY29kZXJfbXA1X21zMS54bWwKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ3Jj L25yc2M1X2wxX2ZtX2VuY29kZXJfbXA2LmJsb2NrLnltbAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBn cmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDYueG1sCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdyYy9u cnNjNV9sMV9mbV9lbmNvZGVyX21wNl9tczEuYmxvY2sueW1sCisgZGVsZXRlIG1vZGUgMTAwNjQ0 IGdyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wNl9tczEueG1sCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGdyYy9ucnNjNV9sMl9lbmNvZGVyLmJsb2NrLnltbAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBncmMv bnJzYzVfbDJfZW5jb2Rlci54bWwKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ3JjL25yc2M1X3BzZF9l bmNvZGVyLmJsb2NrLnltbAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBncmMvbnJzYzVfcHNkX2VuY29k ZXIueG1sCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdyYy9ucnNjNV9zaXNfZW5jb2Rlci5ibG9jay55 bWwKKyBkZWxldGUgbW9kZSAxMDA2NDQgZ3JjL25yc2M1X3Npc19lbmNvZGVyLnhtbAorIGRlbGV0 ZSBtb2RlIDEwMDY0NCBsaWIvcWFfbnJzYzUuY2MKKyBkZWxldGUgbW9kZSAxMDA2NDQgbGliL3Fh X25yc2M1LmgKKyBkZWxldGUgbW9kZSAxMDA2NDQgbGliL3Rlc3RfbnJzYzUuY2MKKyBkZWxldGUg bW9kZSAxMDA2NDQgcHl0aG9uL2J1aWxkX3V0aWxzLnB5CisKK2RpZmYgLS1naXQgYS9DTWFrZUxp c3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCAxYmViNTVmLi5kZDVjMjU3IDEwMDY0NAor LS0tIENNYWtlTGlzdHMudHh0CisrKysgQ01ha2VMaXN0cy50eHQKK0BAIC0xLDYgKzEsNyBAQAor LSMgQ29weXJpZ2h0IDIwMTEsMjAxMiwyMDE0LDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisrIyBDb3B5cmlnaHQgMjAxMSwyMDEyLDIwMTQsMjAxNiwyMDE4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgorICMKKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRp bworKyMgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgZ3JfbW9kdG9vbCwgYSB0b29sIGZyb20g dGhlIEdOVSBSYWRpbyBmcmFtZXdvcmsKKysjIFRoaXMgZmlsZSBpcyBhIHBhcnQgb2YgZ3ItbnJz YzUKKyAjCisgIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKK0BAIC0yMCw5NCArMjEsODYgQEAK KyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKyAjIFByb2plY3Qgc2V0dXAKKyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1j bWFrZV9taW5pbXVtX3JlcXVpcmVkKFZFUlNJT04gMi42KQorK2NtYWtlX21pbmltdW1fcmVxdWly ZWQoVkVSU0lPTiAzLjgpCisgcHJvamVjdChnci1ucnNjNSBDWFggQykKKyBlbmFibGVfdGVzdGlu ZygpCisgCistI2luc3RhbGwgdG8gUHlCT01CUyB0YXJnZXQgcHJlZml4IGlmIGRlZmluZWQKKysj IEluc3RhbGwgdG8gUHlCT01CUyB0YXJnZXQgcHJlZml4IGlmIGRlZmluZWQKKyBpZihERUZJTkVE IEVOVntQWUJPTUJTX1BSRUZJWH0pCisgICAgIHNldChDTUFLRV9JTlNUQUxMX1BSRUZJWCAkRU5W e1BZQk9NQlNfUFJFRklYfSkKKyAgICAgbWVzc2FnZShTVEFUVVMgIlB5Qk9NQlMgaW5zdGFsbGVk IEdOVSBSYWRpby4gU2V0dGluZyBDTUFLRV9JTlNUQUxMX1BSRUZJWCB0byAkRU5We1BZQk9NQlNf UFJFRklYfSIpCisgZW5kaWYoKQorIAorLSNzZWxlY3QgdGhlIHJlbGVhc2UgYnVpbGQgdHlwZSBi eSBkZWZhdWx0IHRvIGdldCBvcHRpbWl6YXRpb24gZmxhZ3MKKysjIFNlbGVjdCB0aGUgcmVsZWFz ZSBidWlsZCB0eXBlIGJ5IGRlZmF1bHQgdG8gZ2V0IG9wdGltaXphdGlvbiBmbGFncworIGlmKE5P VCBDTUFLRV9CVUlMRF9UWVBFKQorICAgIHNldChDTUFLRV9CVUlMRF9UWVBFICJSZWxlYXNlIikK KyAgICBtZXNzYWdlKFNUQVRVUyAiQnVpbGQgdHlwZSBub3Qgc3BlY2lmaWVkOiBkZWZhdWx0aW5n IHRvIHJlbGVhc2UuIikKKyBlbmRpZihOT1QgQ01BS0VfQlVJTERfVFlQRSkKKyBzZXQoQ01BS0Vf QlVJTERfVFlQRSAke0NNQUtFX0JVSUxEX1RZUEV9IENBQ0hFIFNUUklORyAiIikKKyAKKy0jbWFr ZSBzdXJlIG91ciBsb2NhbCBDTWFrZSBNb2R1bGVzIHBhdGggY29tZXMgZmlyc3QKKysjIE1ha2Ug c3VyZSBvdXIgbG9jYWwgQ01ha2UgTW9kdWxlcyBwYXRoIGNvbWVzIGZpcnN0CisgbGlzdChJTlNF UlQgQ01BS0VfTU9EVUxFX1BBVEggMCAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlL01vZHVsZXMp CisgCisgIyBTZXQgdGhlIHZlcnNpb24gaW5mb3JtYXRpb24gaGVyZQorLXNldChWRVJTSU9OX0lO Rk9fTUFKT1JfVkVSU0lPTiAxKQorLXNldChWRVJTSU9OX0lORk9fQVBJX0NPTVBBVCAgICAwKQor LXNldChWRVJTSU9OX0lORk9fTUlOT1JfVkVSU0lPTiAwKQorLXNldChWRVJTSU9OX0lORk9fTUFJ TlRfVkVSU0lPTiBnaXQpCisrc2V0KFZFUlNJT05fTUFKT1IgMSkKKytzZXQoVkVSU0lPTl9BUEkg ICAgMCkKKytzZXQoVkVSU0lPTl9BQkkgMCkKKytzZXQoVkVSU0lPTl9QQVRDSCBnaXQpCisgCist IyBTZXQgY21ha2UgcG9saWNpZXMuCistIyBUaGlzIHdpbGwgc3VwcHJlc3MgZGV2ZWxvcGVyIHdh cm5pbmdzIGR1cmluZyB0aGUgY21ha2UgcHJvY2VzcyB0aGF0IGNhbiBvY2N1cgorLSMgaWYgYSBu ZXdlciBjbWFrZSB2ZXJzaW9uIHRoYW4gdGhlIG1pbmltdW0gaXMgdXNlZC4KKytjbWFrZV9wb2xp Y3koU0VUIENNUDAwMTEgTkVXKQorIAorLWlmKFBPTElDWSBDTVAwMDI2KQorLSAgICBjbWFrZV9w b2xpY3koU0VUIENNUDAwMjYgT0xEKQorLWVuZGlmKCkKKy1pZihQT0xJQ1kgQ01QMDA0MykKKy0g ICAgY21ha2VfcG9saWN5KFNFVCBDTVAwMDQzIE9MRCkKKy1lbmRpZigpCistaWYoUE9MSUNZIENN UDAwNDUpCistICAgIGNtYWtlX3BvbGljeShTRVQgQ01QMDA0NSBPTEQpCistZW5kaWYoKQorLWlm KFBPTElDWSBDTVAwMDQ2KQorLSAgICBjbWFrZV9wb2xpY3koU0VUIENNUDAwNDYgT0xEKQorLWVu ZGlmKCkKKysjIEVuYWJsZSBnZW5lcmF0aW9uIG9mIGNvbXBpbGVfY29tbWFuZHMuanNvbiBmb3Ig Y29kZSBjb21wbGV0aW9uIGVuZ2luZXMKKytzZXQoQ01BS0VfRVhQT1JUX0NPTVBJTEVfQ09NTUFO RFMgT04pCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBDb21waWxlciBzcGVjaWZpYyBzZXR1cAor ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworLWlmKENNQUtFX0NPTVBJTEVSX0lTX0dOVUNYWCBBTkQgTk9UIFdJ TjMyKQorK2lmKChDTUFLRV9DWFhfQ09NUElMRVJfSUQgTUFUQ0hFUyAiQ2xhbmciIE9SCisrICAg IENNQUtFX0NYWF9DT01QSUxFUl9JRCBTVFJFUVVBTCAiR05VIikKKysgICAgQU5EIE5PVCBXSU4z MikKKyAgICAgI2h0dHA6Ly9nY2MuZ251Lm9yZy93aWtpL1Zpc2liaWxpdHkKKyAgICAgYWRkX2Rl ZmluaXRpb25zKC1mdmlzaWJpbGl0eT1oaWRkZW4pCisgZW5kaWYoKQorIAorLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworLSMgRmluZCBib29zdAorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWlmKFVOSVggQU5EIEVYSVNU UyAiL3Vzci9saWI2NCIpCistICAgIGxpc3QoQVBQRU5EIEJPT1NUX0xJQlJBUllESVIgIi91c3Iv bGliNjQiKSAjZmVkb3JhIDY0LWJpdCBmaXgKKy1lbmRpZihVTklYIEFORCBFWElTVFMgIi91c3Iv bGliNjQiKQorLXNldChCb29zdF9BRERJVElPTkFMX1ZFUlNJT05TCistICAgICIxLjM1LjAiICIx LjM1IiAiMS4zNi4wIiAiMS4zNiIgIjEuMzcuMCIgIjEuMzciICIxLjM4LjAiICIxLjM4IiAiMS4z OS4wIiAiMS4zOSIKKy0gICAgIjEuNDAuMCIgIjEuNDAiICIxLjQxLjAiICIxLjQxIiAiMS40Mi4w IiAiMS40MiIgIjEuNDMuMCIgIjEuNDMiICIxLjQ0LjAiICIxLjQ0IgorLSAgICAiMS40NS4wIiAi MS40NSIgIjEuNDYuMCIgIjEuNDYiICIxLjQ3LjAiICIxLjQ3IiAiMS40OC4wIiAiMS40OCIgIjEu NDkuMCIgIjEuNDkiCistICAgICIxLjUwLjAiICIxLjUwIiAiMS41MS4wIiAiMS41MSIgIjEuNTIu MCIgIjEuNTIiICIxLjUzLjAiICIxLjUzIiAiMS41NC4wIiAiMS41NCIKKy0gICAgIjEuNTUuMCIg IjEuNTUiICIxLjU2LjAiICIxLjU2IiAiMS41Ny4wIiAiMS41NyIgIjEuNTguMCIgIjEuNTgiICIx LjU5LjAiICIxLjU5IgorLSAgICAiMS42MC4wIiAiMS42MCIgIjEuNjEuMCIgIjEuNjEiICIxLjYy LjAiICIxLjYyIiAiMS42My4wIiAiMS42MyIgIjEuNjQuMCIgIjEuNjQiCistICAgICIxLjY1LjAi ICIxLjY1IiAiMS42Ni4wIiAiMS42NiIgIjEuNjcuMCIgIjEuNjciICIxLjY4LjAiICIxLjY4IiAi MS42OS4wIiAiMS42OSIKKy0pCistZmluZF9wYWNrYWdlKEJvb3N0ICIxLjM1IiBDT01QT05FTlRT IGZpbGVzeXN0ZW0gc3lzdGVtKQorLQorLWlmKE5PVCBCb29zdF9GT1VORCkKKy0gICAgbWVzc2Fn ZShGQVRBTF9FUlJPUiAiQm9vc3QgcmVxdWlyZWQgdG8gY29tcGlsZSBucnNjNSIpCistZW5kaWYo KQorK0lGKENNQUtFX0NYWF9DT01QSUxFUl9JRCBTVFJFUVVBTCAiR05VIikKKysgICAgU0VUKENN QUtFX0NYWF9TVEFOREFSRCAxMSkKKytFTFNFSUYoQ01BS0VfQ1hYX0NPTVBJTEVSX0lEIE1BVENI RVMgIkNsYW5nIikKKysgICAgU0VUKENNQUtFX0NYWF9TVEFOREFSRCAxMSkKKytFTFNFSUYoQ01B S0VfQ1hYX0NPTVBJTEVSX0lEIFNUUkVRVUFMICJNU1ZDIikKKysgICAgU0VUKENNQUtFX0NYWF9T VEFOREFSRCAxMSkKKytFTFNFKCkKKysgICAgbWVzc2FnZShXQVJOSU5HICJDKysgc3RhbmRhcmQg Y291bGQgbm90IGJlIHNldCBiZWNhdXNlIGNvbXBpbGVyIGlzIG5vdCBHTlUsIENsYW5nIG9yIE1T VkMuIikKKytFTkRJRigpCisrCisrSUYoQ01BS0VfQ19DT01QSUxFUl9JRCBTVFJFUVVBTCAiR05V IikKKysgICAgU0VUKENNQUtFX0NfU1RBTkRBUkQgMTEpCisrRUxTRUlGKENNQUtFX0NfQ09NUElM RVJfSUQgTUFUQ0hFUyAiQ2xhbmciKQorKyAgICBTRVQoQ01BS0VfQ19TVEFOREFSRCAxMSkKKytF TFNFSUYoQ01BS0VfQ19DT01QSUxFUl9JRCBTVFJFUVVBTCAiTVNWQyIpCisrICAgIFNFVChDTUFL RV9DX1NUQU5EQVJEIDExKQorK0VMU0UoKQorKyAgICBtZXNzYWdlKFdBUk5JTkcgIkMgc3RhbmRh cmQgY291bGQgbm90IGJlIHNldCBiZWNhdXNlIGNvbXBpbGVyIGlzIG5vdCBHTlUsIENsYW5nIG9y IE1TVkMuIikKKytFTkRJRigpCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBJbnN0YWxsIGRpcmVj dG9yaWVzCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrZmluZF9wYWNrYWdlKEdudXJhZGlvICIzLjgiIFJF UVVJUkVEIENPTVBPTkVOVFMgYmxvY2tzIGZlYykKKytmaW5kX3BhY2thZ2UoR1NMKQorK2luY2x1 ZGUoR3JWZXJzaW9uKQorKworIGluY2x1ZGUoR3JQbGF0Zm9ybSkgI2RlZmluZSBMSUJfU1VGRklY Cistc2V0KEdSX1JVTlRJTUVfRElSICAgICAgYmluKQorLXNldChHUl9MSUJSQVJZX0RJUiAgICAg IGxpYiR7TElCX1NVRkZJWH0pCisrCisraWYoTk9UIENNQUtFX01PRFVMRVNfRElSKQorKyAgc2V0 KENNQUtFX01PRFVMRVNfRElSIGxpYiR7TElCX1NVRkZJWH0vY21ha2UpCisrZW5kaWYoTk9UIENN QUtFX01PRFVMRVNfRElSKQorKworIHNldChHUl9JTkNMVURFX0RJUiAgICAgIGluY2x1ZGUvbnJz YzUpCistc2V0KEdSX0RBVEFfRElSICAgICAgICAgc2hhcmUpCisrc2V0KEdSX0NNQUtFX0RJUiAg ICAgICAgJHtDTUFLRV9NT0RVTEVTX0RJUn0vbnJzYzUpCisgc2V0KEdSX1BLR19EQVRBX0RJUiAg ICAgJHtHUl9EQVRBX0RJUn0vJHtDTUFLRV9QUk9KRUNUX05BTUV9KQorLXNldChHUl9ET0NfRElS ICAgICAgICAgICR7R1JfREFUQV9ESVJ9L2RvYykKKyBzZXQoR1JfUEtHX0RPQ19ESVIgICAgICAk e0dSX0RPQ19ESVJ9LyR7Q01BS0VfUFJPSkVDVF9OQU1FfSkKKy1zZXQoR1JfQ09ORl9ESVIgICAg ICAgICBldGMpCisgc2V0KEdSX1BLR19DT05GX0RJUiAgICAgJHtHUl9DT05GX0RJUn0vJHtDTUFL RV9QUk9KRUNUX05BTUV9L2NvbmYuZCkKKy1zZXQoR1JfTElCRVhFQ19ESVIgICAgICBsaWJleGVj KQorIHNldChHUl9QS0dfTElCRVhFQ19ESVIgICR7R1JfTElCRVhFQ19ESVJ9LyR7Q01BS0VfUFJP SkVDVF9OQU1FfSkKKy1zZXQoR1JDX0JMT0NLU19ESVIgICAgICAke0dSX1BLR19EQVRBX0RJUn0v Z3JjL2Jsb2NrcykKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIE9uIEFwcGxlIG9ubHksIHNldCBp bnN0YWxsIG5hbWUgYW5kIHVzZSBycGF0aCBjb3JyZWN0bHksIGlmIG5vdCBhbHJlYWR5IHNldAor QEAgLTEzMiw1NCArMTI1LDE3IEBAIGVuZGlmKEFQUExFKQorICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMg RmluZCBnbnVyYWRpbyBidWlsZCBkZXBlbmRlbmNpZXMKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1maW5k X3BhY2thZ2UoQ3BwVW5pdCkKKyBmaW5kX3BhY2thZ2UoRG94eWdlbikKKyAKKy0jIFNlYXJjaCBm b3IgR05VIFJhZGlvIGFuZCBpdHMgY29tcG9uZW50cyBhbmQgdmVyc2lvbnMuIEFkZCBhbnkKKy0j IGNvbXBvbmVudHMgcmVxdWlyZWQgdG8gdGhlIGxpc3Qgb2YgR1JfUkVRVUlSRURfQ09NUE9ORU5U UyAoaW4gYWxsCistIyBjYXBzIHN1Y2ggYXMgRklMVEVSIG9yIEZGVCkgYW5kIGNoYW5nZSB0aGUg dmVyc2lvbiB0byB0aGUgbWluaW11bQorLSMgQVBJIGNvbXBhdGlibGUgdmVyc2lvbiByZXF1aXJl ZC4KKy1zZXQoR1JfUkVRVUlSRURfQ09NUE9ORU5UUyBSVU5USU1FIEZFQyBQTVQpCistZmluZF9w YWNrYWdlKEdudXJhZGlvICIzLjcuMiIgUkVRVUlSRUQpCistbGlzdChJTlNFUlQgQ01BS0VfTU9E VUxFX1BBVEggMCAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlL01vZHVsZXMpCistaW5jbHVkZShH clZlcnNpb24pCistCistaWYoTk9UIENQUFVOSVRfRk9VTkQpCistICAgIG1lc3NhZ2UoRkFUQUxf RVJST1IgIkNwcFVuaXQgcmVxdWlyZWQgdG8gY29tcGlsZSBucnNjNSIpCistZW5kaWYoKQorLQor ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworICMgU2V0dXAgZG94eWdlbiBvcHRpb24KKyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyBpZihET1hZR0VOX0ZPVU5EKQorLQlvcHRpb24oRU5BQkxFX0RPWFlHRU4gIkJ1aWxkIGRv Y3MgdXNpbmcgRG94eWdlbiIgT04pCisrICAgIG9wdGlvbihFTkFCTEVfRE9YWUdFTiAiQnVpbGQg ZG9jcyB1c2luZyBEb3h5Z2VuIiBPTikKKyBlbHNlKERPWFlHRU5fRk9VTkQpCistCW9wdGlvbihF TkFCTEVfRE9YWUdFTiAiQnVpbGQgZG9jcyB1c2luZyBEb3h5Z2VuIiBPRkYpCisrICAgIG9wdGlv bihFTkFCTEVfRE9YWUdFTiAiQnVpbGQgZG9jcyB1c2luZyBEb3h5Z2VuIiBPRkYpCisgZW5kaWYo RE9YWUdFTl9GT1VORCkKKyAKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIFNldHVwIHRoZSBpbmNsdWRl IGFuZCBsaW5rZXIgcGF0aHMKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1pbmNsdWRlX2RpcmVjdG9yaWVz KAorLSAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L2xpYgorLSAgICAke0NNQUtFX1NPVVJDRV9ESVJ9 L2luY2x1ZGUKKy0gICAgJHtDTUFLRV9CSU5BUllfRElSfS9saWIKKy0gICAgJHtDTUFLRV9CSU5B UllfRElSfS9pbmNsdWRlCistICAgICR7Qm9vc3RfSU5DTFVERV9ESVJTfQorLSAgICAke0NQUFVO SVRfSU5DTFVERV9ESVJTfQorLSAgICAke0dOVVJBRElPX0FMTF9JTkNMVURFX0RJUlN9CistKQor LQorLWxpbmtfZGlyZWN0b3JpZXMoCistICAgICR7Qm9vc3RfTElCUkFSWV9ESVJTfQorLSAgICAk e0NQUFVOSVRfTElCUkFSWV9ESVJTfQorLSAgICAke0dOVVJBRElPX1JVTlRJTUVfTElCUkFSWV9E SVJTfQorLSkKKy0KKy0jIFNldCBjb21wb25lbnQgcGFyYW1ldGVycworLXNldChHUl9OUlNDNV9J TkNMVURFX0RJUlMgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2luY2x1ZGUgQ0FDSEUgSU5U RVJOQUwgIiIgRk9SQ0UpCistc2V0KEdSX05SU0M1X1NXSUdfSU5DTFVERV9ESVJTICR7Q01BS0Vf Q1VSUkVOVF9TT1VSQ0VfRElSfS9zd2lnIENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQorLQorICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworICMgQ3JlYXRlIHVuaW5zdGFsbCB0YXJnZXQKKyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKK0BAIC0yMjYsMTggKzE4MiwxNSBAQCBlbmRpZigpCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgYWRk X3N1YmRpcmVjdG9yeShpbmNsdWRlL25yc2M1KQorIGFkZF9zdWJkaXJlY3RvcnkobGliKQorK2Fk ZF9zdWJkaXJlY3RvcnkoYXBwcykKKythZGRfc3ViZGlyZWN0b3J5KGRvY3MpCisgYWRkX3N1YmRp cmVjdG9yeShzd2lnKQorIGFkZF9zdWJkaXJlY3RvcnkocHl0aG9uKQorIGFkZF9zdWJkaXJlY3Rv cnkoZ3JjKQorLWFkZF9zdWJkaXJlY3RvcnkoYXBwcykKKy1hZGRfc3ViZGlyZWN0b3J5KGRvY3Mp CisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBJbnN0YWxsIGNtYWtlIHNlYXJjaCBoZWxwZXIgZm9y IHRoaXMgbGlicmFyeQorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWlmKE5PVCBDTUFLRV9NT0RVTEVTX0RJ UikKKy0gIHNldChDTUFLRV9NT0RVTEVTX0RJUiBsaWIke0xJQl9TVUZGSVh9L2NtYWtlKQorLWVu ZGlmKE5PVCBDTUFLRV9NT0RVTEVTX0RJUikKKyAKKyBpbnN0YWxsKEZJTEVTIGNtYWtlL01vZHVs ZXMvbnJzYzVDb25maWcuY21ha2UKKyAgICAgREVTVElOQVRJT04gJHtDTUFLRV9NT0RVTEVTX0RJ Un0vbnJzYzUKK2RpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKK2luZGV4IDM2NmY1 YTcuLmMxMTI4NmEgMTAwNjQ0CistLS0gUkVBRE1FLm1kCisrKysgUkVBRE1FLm1kCitAQCAtODQs NyArODQsNiBAQCBUaGUgb3V0cHV0IGJ5dGVzIG1hcCB0byBzeW1ib2xzIGFzIGZvbGxvd3M6Cisg U2V2ZXJhbCBzYW1wbGUgZmxvd2dyYXBocyBhcmUgYXZhaWxhYmxlIGluIHRoZSBhcHBzIGZvbGRl cjoKKyAKKyAqIGhkX3R4X3VzcnAuZ3JjLCBoZF90eF91c3JwLnB5OiB0ZXN0ZWQgb24gYSBVU1JQ IEIyMDAKKy0qIGhkX3R4X2hhY2tyZi5ncmMsIGhkX3R4X2hhY2tyZi5weTogdGVzdGVkIG9uIGEg SGFja1JGIE9uZQorICogaGRfdHhfcnRsX2ZpbGUuZ3JjLCBoZF90eF9ydGxfZmlsZS5weTogcHJv ZHVjZXMgYW4gb3V0cHV0IGZpbGUgaW4gdGhlIGZvcm1hdCB1c2VkIGJ5IGh0dHBzOi8vZ2l0aHVi LmNvbS90aGVvcmktaW8vbnJzYzUvCisgCisgVGhlc2UgZmxvd2dyYXBocyByZWFkIGEgV0FWIGZp bGUgbmFtZWQgc2FtcGxlLndhdiwgd2hpY2ggbXVzdCBiZSBlbmNvZGVkIGF0IDQ0LDEwMCBzYW1w bGVzIHBlciBzZWNvbmQuIFRoZSBsaWNlbnNlIGZvciB0aGUgc3VwcGxpZWQgc2FtcGxlLndhdiBm aWxlIGlzIGFzIGZvbGxvd3M6CitkaWZmIC0tZ2l0IGEvYXBwcy9DTWFrZUxpc3RzLnR4dCBiL2Fw cHMvQ01ha2VMaXN0cy50eHQKK2luZGV4IGM4MzdkNzcuLjQwOGJmNmEgMTAwNjQ0CistLS0gYXBw cy9DTWFrZUxpc3RzLnR4dAorKysrIGFwcHMvQ01ha2VMaXN0cy50eHQKK0BAIC0xLDYgKzEsNyBA QAorICMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgIwor LSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIyBUaGlzIGZpbGUgd2FzIGdlbmVy YXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJhZGlvIGZyYW1ld29yawor KyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1ucnNjNQorICMKKyAjIEdOVSBSYWRpbyBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQorZGlmZiAtLWdpdCBhL2FwcHMvaGRfdHhfaGFja3JmLmdyYyBiL2FwcHMvaGRf dHhfaGFja3JmLmdyYworZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA3ZjkzMjc5Li4w MDAwMDAwCistLS0gYXBwcy9oZF90eF9oYWNrcmYuZ3JjCisrKysgL2Rldi9udWxsCitAQCAtMSwy Njc5ICswLDAgQEAKKy08P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSd1dGYtOCc/PgorLTw/ Z3JjIGZvcm1hdD0nMScgY3JlYXRlZD0nMy43LjEyJz8+CistPGZsb3dfZ3JhcGg+CistICA8dGlt ZXN0YW1wPkZyaSBTZXAgMTYgMDE6MzU6NTMgMjAxNjwvdGltZXN0YW1wPgorLSAgPGJsb2NrPgor LSAgICA8a2V5Pm9wdGlvbnM8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YXV0aG9y PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5PndpbmRvd19zaXplPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNhdGVnb3J5PC9rZXk+ CistICAgICAgPHZhbHVlPltHUkMgSGllciBCbG9ja3NdPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5kZXNjcmlw dGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5h dGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDgsIDEyKTwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2VuZXJh dGVfb3B0aW9uczwva2V5PgorLSAgICAgIDx2YWx1ZT5ub19ndWk8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5oaWVyX2Jsb2NrX3NyY19wYXRoPC9rZXk+ CistICAgICAgPHZhbHVlPi46PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+aGRfdHhfaGFja3JmPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4X25vdXRzPC9rZXk+ CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5xdF9xc3NfdGhlbWU8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cmVhbHRpbWVfc2NoZWR1bGlu Zzwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5ydW5fY29tbWFuZDwva2V5PgorLSAgICAgIDx2YWx1ZT57cHl0aG9u fSAtdSB7ZmlsZW5hbWV9PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+cnVuX29wdGlvbnM8L2tleT4KKy0gICAgICA8dmFsdWU+cHJvbXB0PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cnVuPC9rZXk+CistICAg ICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT50aHJlYWRfc2FmZV9zZXR0ZXJzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnRpdGxlPC9rZXk+Cist ICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJs b2NrPgorLSAgICA8a2V5PnZhcmlhYmxlPC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1 ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29y ZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig4LCAxNjQpPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAgICAgPHZh bHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5p ZDwva2V5PgorLSAgICAgIDx2YWx1ZT5mcmVxPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+dmFsdWU8L2tleT4KKy0gICAgICA8dmFsdWU+OTUuN2U2PC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+ dmFyaWFibGU8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0g ICAgICA8dmFsdWU+KDgsIDEwMCk8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAg PHZhbHVlPnNhbXBfcmF0ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PnZhbHVlPC9rZXk+CistICAgICAgPHZhbHVlPjIwMDAwMDA8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5hbmFsb2dfc2ln X3NvdXJjZV94PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFtcDwva2V5PgorLSAg ICAgIDx2YWx1ZT4wLjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVl PjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmlu aXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVxPC9rZXk+ CistICAgICAgPHZhbHVlPjEwMDA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oODk2LCA1ODQp PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3JvdGF0 aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjE4MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPmFuYWxvZ19zaWdf c291cmNlX3hfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZh bHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5v ZmZzZXQ8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+ZmxvYXQ8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5zYW1wX3JhdGU8 L2tleT4KKy0gICAgICA8dmFsdWU+NTAwMDA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT53YXZlZm9ybTwva2V5PgorLSAgICAgIDx2YWx1ZT5hbmFsb2cu R1JfQ09TX1dBVkU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9j az4KKy0gICAgPGtleT5hbmFsb2dfd2ZtX3R4PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmF1ZGlvX3JhdGU8L2tleT4KKy0gICAgICA8dmFsdWU+NTAwMDA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2 YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5j b21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9r ZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oNjQwLCA1 ODQpPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3Jv dGF0aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjE4MDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPmFuYWxvZ193 Zm1fdHhfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pm1heF9kZXY8L2tleT4KKy0gICAgICA8dmFsdWU+NzVlMzwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1 ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlu b3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5maDwva2V5PgorLSAgICAgIDx2YWx1ZT4tMS4wPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cXVhZF9yYXRlPC9r ZXk+CistICAgICAgPHZhbHVlPjIwMDAwMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PnRhdTwva2V5PgorLSAgICAgIDx2YWx1ZT43NWUtNjwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nr c19hZGRfeHg8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0g ICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1 ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5h YmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+ KDQyNCwgNDcyKTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+Ymxv Y2tzX2FkZF94eF8wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAg PHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5taW5vdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm51bV9pbnB1dHM8L2tleT4KKy0gICAgICA8dmFs dWU+MjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnZs ZW48L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Js b2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc19jb25qdWdhdGVfY2M8L2tleT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5 PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAg IDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDYyNCwgMzc2KTwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5 PgorLSAgICAgIDx2YWx1ZT4xODA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ibG9ja3NfY29uanVnYXRlX2Nj XzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhv dXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+ YmxvY2tzX2tlZXBfbV9pbl9uPC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFz PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0g ICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAg ICAgPHZhbHVlPig5NTIsIDM0MCk8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAg ICA8dmFsdWU+YmxvY2tzX2tlZXBfbV9pbl9uXzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5tPC9rZXk+CistICAgICAgPHZhbHVlPjIxNjA8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tl eT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bjwva2V5PgorLSAgICAgIDx2 YWx1ZT40MDk2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+b2Zmc2V0PC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAg PGtleT5ibG9ja3NfbXVsdGlwbHlfY29uc3Rfdnh4PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+ PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29uc3Q8 L2tleT4KKy0gICAgICA8dmFsdWU+MC4wMDE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5 PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDI0OCwgNDY4 KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3Rh dGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX211bHRp cGx5X2NvbnN0X3Z4eF8wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAg ICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5taW5vdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnZsZW48L2tleT4KKy0gICAgICA8dmFsdWU+ MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8 a2V5PmJsb2Nrc19tdWx0aXBseV9jb25zdF92eHg8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb25zdDwv a2V5PgorLSAgICAgIDx2YWx1ZT4wLjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5Pgor LSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDEwNCwgNjEyKTwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlv bjwva2V5PgorLSAgICAgIDx2YWx1ZT4xODA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ibG9ja3NfbXVsdGlw bHlfY29uc3Rfdnh4XzE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT50eXBlPC9rZXk+CistICAgICAgPHZhbHVlPmNvbXBsZXg8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAg ICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmxlbjwva2V5PgorLSAgICAgIDx2YWx1ZT4x PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxr ZXk+YmxvY2tzX211bHRpcGx5X3h4PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFs aWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAg ICAgPHZhbHVlPig4MTYsIDM2MCk8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAg ICA8dmFsdWU+YmxvY2tzX211bHRpcGx5X3h4XzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT50eXBlPC9rZXk+CistICAgICAgPHZhbHVlPmNvbXBsZXg8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRi dWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bnVtX2lucHV0czwv a2V5PgorLSAgICAgIDx2YWx1ZT4yPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+dmxlbjwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX3JlcGVh dDwva2V5PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2 YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5j b21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9r ZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oMTEwNCwg MjQ0KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9y b3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX3Jl cGVhdF8wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ aW50ZXJwPC9rZXk+CistICAgICAgPHZhbHVlPjI8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1 Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmxlbjwva2V5Pgor LSAgICAgIDx2YWx1ZT4yMDQ4PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+Cist ICA8YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX3N0cmVhbV90b192ZWN0b3I8L2tleT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2 YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDY5NiwgMjUyKTwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX3N0cmVhbV90b192ZWN0b3Jf MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnR5cGU8 L2tleT4KKy0gICAgICA8dmFsdWU+Y29tcGxleDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVm PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5udW1faXRlbXM8L2tleT4KKy0gICAgICA8dmFsdWU+MjA0ODwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnZsZW48L2tleT4K Ky0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAg PGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc192ZWN0b3Jfc291cmNlX3g8L2tleT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAg ICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1 ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nv b3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDk1MiwgNDI4KTwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAg IDx2YWx1ZT4xODA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ibG9ja3NfdmVjdG9yX3NvdXJjZV94XzA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8 L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAg ICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+cmVwZWF0PC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50YWdzPC9rZXk+CistICAgICAg PHZhbHVlPltdPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+dmxlbjwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmVjdG9yPC9rZXk+CistICAgICAgPHZhbHVlPlttYXRo LnNpbihtYXRoLnBpIC8gMiAqIGkgLyAxMTIpIGZvciBpIGluIHJhbmdlKDExMildICsgWzFdICog KDIwNDgtMTEyKSArIFttYXRoLmNvcyhtYXRoLnBpIC8gMiAqIGkgLyAxMTIpIGZvciBpIGluIHJh bmdlKDExMildPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+ CistICAgIDxrZXk+YmxvY2tzX3ZlY3Rvcl90b19zdHJlYW08L2tleT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2 YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5h ZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVl PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3Jk aW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDExMDQsIDM1Nik8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8 dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1fMDwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnR5cGU8L2tleT4K Ky0gICAgICA8dmFsdWU+Y29tcGxleDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+ CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5udW1faXRlbXM8L2tleT4KKy0gICAgICA8dmFsdWU+MjA0ODwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnZsZW48L2tleT4KKy0gICAg ICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2Nr PgorLSAgICA8a2V5PmJsb2Nrc192ZWN0b3JfdG9fc3RyZWFtPC9rZXk+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8 dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1 ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29y ZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPigyODgsIDI1Mik8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8 dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmlkPC9rZXk+CistICAgICAgPHZhbHVlPmJsb2Nrc192ZWN0b3JfdG9fc3RyZWFtXzE8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50eXBlPC9rZXk+Cist ICAgICAgPHZhbHVlPmJ5dGU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAg ICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+bnVtX2l0ZW1zPC9rZXk+CistICAgICAgPHZhbHVlPjEwNDg1NzY8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT52bGVuPC9rZXk+CistICAgICAg PHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4K Ky0gICAgPGtleT5ibG9ja3Nfd2F2ZmlsZV9zb3VyY2U8L2tleT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1 ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZp bml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZmlsZTwva2V5 PgorLSAgICAgIDx2YWx1ZT5zYW1wbGUud2F2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDMy OCwgMTYpPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ X3JvdGF0aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ibG9ja3Nf d2F2ZmlsZV9zb3VyY2VfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAg ICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5uY2hhbjwva2V5PgorLSAgICAgIDx2YWx1ZT4yPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cmVwZWF0PC9rZXk+CistICAgICAgPHZhbHVlPlRy dWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAg PGtleT5kaWdpdGFsX2NodW5rc190b19zeW1ib2xzX3h4PC9rZXk+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFs dWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZm aW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+ZGltZW5zaW9uPC9rZXk+CistICAgICAgPHZhbHVlPjE8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwv a2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDQ3Miwg MjQ0KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9y b3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+ZGlnaXRhbF9j aHVua3NfdG9fc3ltYm9sc194eF8wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+aW5fdHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5ieXRlPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+ CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5taW5vdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm51bV9wb3J0czwva2V5PgorLSAg ICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+b3V0X3R5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+Y29tcGxleDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnN5bWJvbF90YWJsZTwva2V5Pgor LSAgICAgIDx2YWx1ZT4tMS0xaiwgLTErMWosIDEtMWosIDErMWosIDA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5mZnRfdnh4PC9rZXk+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8 L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0g ICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmZmdF9zaXplPC9rZXk+CistICAgICAgPHZhbHVlPjIwNDg8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mb3J3YXJkPC9rZXk+CistICAg ICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDg4MCwgMjI0KTwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwv a2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+ZmZ0X3Z4eF8wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAg ICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5taW5vdXRidWY8L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5Pm50aHJlYWRzPC9rZXk+CistICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5zaGlmdDwva2V5PgorLSAgICAgIDx2YWx1 ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ d2luZG93PC9rZXk+CistICAgICAgPHZhbHVlPndpbmRvdy5yZWN0YW5ndWxhcigyMDQ4KTwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5Pmlt cG9ydDwva2V5PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAg IDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRy dWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fY29v cmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oOCwgMjM2KTwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2 YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+aW1wb3J0XzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5pbXBvcnQ8L2tleT4KKy0gICAgICA8dmFsdWU+aW1w b3J0IG1hdGg8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4K Ky0gICAgPGtleT5sb3dfcGFzc19maWx0ZXI8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+YmV0YTwva2V5PgorLSAgICAgIDx2YWx1ZT42Ljc2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwv a2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jdXRvZmZfZnJlcTwva2V5Pgor LSAgICAgIDx2YWx1ZT44MDAwMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmRlY2ltPC9rZXk+CistICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAg IDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5maXJfZmlsdGVyX2NjZjwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+ CistICAgICAgPHZhbHVlPigyNjQsIDU2OCk8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2Fpbjwva2V5 PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+bG93X3Bhc3NfZmlsdGVyXzA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pbnRlcnA8L2tl eT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+Cist ICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5zYW1wX3JhdGU8L2tleT4KKy0gICAgICA8dmFsdWU+c2FtcF9yYXRlPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+d2lkdGg8L2tleT4KKy0g ICAgICA8dmFsdWU+MjAwMDA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT53aW48L2tleT4KKy0gICAgICA8dmFsdWU+ZmlyZGVzLldJTl9IQU1NSU5HPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+ bnJzYzVfaGRjX2VuY29kZXI8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Yml0cmF0 ZTwva2V5PgorLSAgICAgIDx2YWx1ZT42NDAwMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNoYW5uZWxzPC9rZXk+ CistICAgICAgPHZhbHVlPjI8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2 YWx1ZT4oNTEyLCAxNik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVl Pm5yc2M1X2hkY19lbmNvZGVyXzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8 YmxvY2s+CistICAgIDxrZXk+bnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDE8L2tleT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAg ICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1 ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDg4OCwgNDgpPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAg ICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ucnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVm PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5taW5vdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5Pm5yc2M1 X2wyX2VuY29kZXI8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2 YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5f ZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Zmlyc3RfcHJvZzwva2V5PgorLSAgICAgIDx2YWx1 ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2l6 ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4xNDYxNzY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4o Njk2LCAzMik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPm5yc2M1 X2wyX2VuY29kZXJfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAg PHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5udW1fcHJvZ3M8L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5Pm5yc2M1X3Npc19lbmNvZGVyPC9r ZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVl PjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1l bnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4K Ky0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig2ODgsIDEwOCk8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRp b248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPm5yc2M1X3Npc19lbmNv ZGVyXzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5t YXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2hvcnRf bmFtZTwva2V5PgorLSAgICAgIDx2YWx1ZT5BQkNEPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g IDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+bnJzYzVfcHNkX2VuY29kZXI8L2tleT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YXJ0aXN0PC9rZXk+CistICAgICAgPHZhbHVlPkFy dGlzdDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFs aWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+Cist ICAgICAgPHZhbHVlPig0ODgsIDkyKTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAg ICA8dmFsdWU+bnJzYzVfcHNkX2VuY29kZXJfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVm PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5wcm9nX251bTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dGl0bGU8L2tleT4KKy0g ICAgICA8dmFsdWU+VGl0bGU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0g IDxibG9jaz4KKy0gICAgPGtleT5vc21vc2RyX3Npbms8L2tleT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50MDwva2V5PgorLSAgICAgIDx2YWx1ZT48 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5iYl9nYWlu MDwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YncwPC9rZXk+CistICAgICAgPHZhbHVlPjEuNWU2PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29ycjA8L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmZyZXEwPC9rZXk+CistICAgICAgPHZhbHVlPmZyZXE8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZl9nYWluMDwva2V5PgorLSAgICAgIDx2 YWx1ZT40MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmdhaW4wPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5hbnQxMDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5iYl9nYWluMTA8L2tl eT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5idzEwPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb3JyMTA8L2tleT4KKy0gICAgICA8 dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmZyZXExMDwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlmX2dhaW4xMDwva2V5PgorLSAgICAgIDx2YWx1 ZT4yMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pmdh aW4xMDwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDExPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJiX2dhaW4xMTwva2V5 PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmJ3MTE8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvcnIxMTwva2V5PgorLSAgICAgIDx2 YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ ZnJlcTExPC9rZXk+CistICAgICAgPHZhbHVlPjEwMGU2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWZfZ2FpbjExPC9rZXk+CistICAgICAgPHZhbHVl PjIwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2Fp bjExPC9rZXk+CistICAgICAgPHZhbHVlPjEwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+YW50MTI8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YmJfZ2FpbjEyPC9rZXk+ CistICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+YncxMjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29ycjEyPC9rZXk+CistICAgICAgPHZh bHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5m cmVxMTI8L2tleT4KKy0gICAgICA8dmFsdWU+MTAwZTY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZl9nYWluMTI8L2tleT4KKy0gICAgICA8dmFsdWU+ MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWlu MTI8L2tleT4KKy0gICAgICA8dmFsdWU+MTA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5hbnQxMzwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5iYl9nYWluMTM8L2tleT4K Ky0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5idzEzPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb3JyMTM8L2tleT4KKy0gICAgICA8dmFs dWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZy ZXExMzwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlmX2dhaW4xMzwva2V5PgorLSAgICAgIDx2YWx1ZT4y MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4x Mzwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmFudDE0PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJiX2dhaW4xNDwva2V5Pgor LSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmJ3MTQ8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvcnIxNDwva2V5PgorLSAgICAgIDx2YWx1 ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZnJl cTE0PC9rZXk+CistICAgICAgPHZhbHVlPjEwMGU2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWZfZ2FpbjE0PC9rZXk+CistICAgICAgPHZhbHVlPjIw PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjE0 PC9rZXk+CistICAgICAgPHZhbHVlPjEwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YW50MTU8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YmJfZ2FpbjE1PC9rZXk+Cist ICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+YncxNTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29ycjE1PC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVx MTU8L2tleT4KKy0gICAgICA8dmFsdWU+MTAwZTY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5pZl9nYWluMTU8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWluMTU8 L2tleT4KKy0gICAgICA8dmFsdWU+MTA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5hbnQxNjwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5iYl9nYWluMTY8L2tleT4KKy0g ICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5idzE2PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb3JyMTY8L2tleT4KKy0gICAgICA8dmFsdWU+ MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZyZXEx Njwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmlmX2dhaW4xNjwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4xNjwv a2V5PgorLSAgICAgIDx2YWx1ZT4xMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5PmFudDE3PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJiX2dhaW4xNzwva2V5PgorLSAg ICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmJ3MTc8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvcnIxNzwva2V5PgorLSAgICAgIDx2YWx1ZT4w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZnJlcTE3 PC9rZXk+CistICAgICAgPHZhbHVlPjEwMGU2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+aWZfZ2FpbjE3PC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjE3PC9r ZXk+CistICAgICAgPHZhbHVlPjEwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+YW50MTg8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YmJfZ2FpbjE4PC9rZXk+CistICAg ICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+YncxODwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29ycjE4PC9rZXk+CistICAgICAgPHZhbHVlPjA8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVxMTg8 L2tleT4KKy0gICAgICA8dmFsdWU+MTAwZTY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5pZl9nYWluMTg8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWluMTg8L2tl eT4KKy0gICAgICA8dmFsdWU+MTA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5hbnQxOTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5iYl9nYWluMTk8L2tleT4KKy0gICAg ICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5idzE5PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb3JyMTk8L2tleT4KKy0gICAgICA8dmFsdWU+MDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZyZXExOTwv a2V5PgorLSAgICAgIDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmlmX2dhaW4xOTwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4xOTwva2V5 PgorLSAgICAgIDx2YWx1ZT4xMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmFudDE8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YmJfZ2FpbjE8L2tleT4KKy0gICAgICA8 dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5idzE8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmNvcnIxPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVxMTwva2V5Pgor LSAgICAgIDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmlmX2dhaW4xPC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjE8L2tleT4KKy0gICAg ICA8dmFsdWU+MTA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5hbnQyMDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5iYl9nYWluMjA8L2tleT4KKy0gICAgICA8dmFsdWU+ MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzIw PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5jb3JyMjA8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZyZXEyMDwva2V5PgorLSAg ICAgIDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmlmX2dhaW4yMDwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4yMDwva2V5PgorLSAgICAg IDx2YWx1ZT4xMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmFudDIxPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJiX2dhaW4yMTwva2V5PgorLSAgICAgIDx2YWx1ZT4y MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3MjE8 L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5PmNvcnIyMTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZnJlcTIxPC9rZXk+CistICAg ICAgPHZhbHVlPjEwMGU2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+aWZfZ2FpbjIxPC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjIxPC9rZXk+CistICAgICAg PHZhbHVlPjEwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+YW50MjI8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YmJfZ2FpbjIyPC9rZXk+CistICAgICAgPHZhbHVlPjIw PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YncyMjwv a2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+Y29ycjIyPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVxMjI8L2tleT4KKy0gICAg ICA8dmFsdWU+MTAwZTY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5pZl9nYWluMjI8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWluMjI8L2tleT4KKy0gICAgICA8 dmFsdWU+MTA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5hbnQyMzwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5iYl9nYWluMjM8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzIzPC9r ZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5jb3JyMjM8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZyZXEyMzwva2V5PgorLSAgICAg IDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmlmX2dhaW4yMzwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4yMzwva2V5PgorLSAgICAgIDx2 YWx1ZT4xMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmFudDI0PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmJiX2dhaW4yNDwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3MjQ8L2tl eT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmNvcnIyNDwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZnJlcTI0PC9rZXk+CistICAgICAg PHZhbHVlPjEwMGU2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+aWZfZ2FpbjI0PC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjI0PC9rZXk+CistICAgICAgPHZh bHVlPjEwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ YW50MjU8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+YmJfZ2FpbjI1PC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YncyNTwva2V5 PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+Y29ycjI1PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVxMjU8L2tleT4KKy0gICAgICA8 dmFsdWU+MTAwZTY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5pZl9nYWluMjU8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWluMjU8L2tleT4KKy0gICAgICA8dmFs dWU+MTA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5h bnQyNjwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5iYl9nYWluMjY8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzI2PC9rZXk+ CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5jb3JyMjY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZyZXEyNjwva2V5PgorLSAgICAgIDx2 YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmlmX2dhaW4yNjwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4yNjwva2V5PgorLSAgICAgIDx2YWx1 ZT4xMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFu dDI3PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmJiX2dhaW4yNzwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3Mjc8L2tleT4K Ky0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmNvcnIyNzwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZnJlcTI3PC9rZXk+CistICAgICAgPHZh bHVlPjEwMGU2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+aWZfZ2FpbjI3PC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjI3PC9rZXk+CistICAgICAgPHZhbHVl PjEwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50 Mjg8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YmJfZ2FpbjI4PC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YncyODwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+Y29ycjI4PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVxMjg8L2tleT4KKy0gICAgICA8dmFs dWU+MTAwZTY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5pZl9nYWluMjg8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWluMjg8L2tleT4KKy0gICAgICA8dmFsdWU+ MTA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbnQy OTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5iYl9nYWluMjk8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzI5PC9rZXk+Cist ICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5jb3JyMjk8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZyZXEyOTwva2V5PgorLSAgICAgIDx2YWx1 ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmlmX2dhaW4yOTwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4yOTwva2V5PgorLSAgICAgIDx2YWx1ZT4x MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDI8 L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+YmJfZ2FpbjI8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzI8L2tleT4KKy0gICAg ICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmNvcnIyPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVxMjwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDBl NjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlmX2dh aW4yPC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjI8L2tleT4KKy0gICAgICA8dmFsdWU+MTA8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbnQzMDwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5iYl9nYWluMzA8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzMwPC9rZXk+CistICAgICAgPHZh bHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5j b3JyMzA8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmZyZXEzMDwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDBlNjwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlmX2dhaW4z MDwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmdhaW4zMDwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDMxPC9rZXk+Cist ICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmJiX2dhaW4zMTwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3MzE8L2tleT4KKy0gICAgICA8dmFs dWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNv cnIzMTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+ZnJlcTMxPC9rZXk+CistICAgICAgPHZhbHVlPjEwMGU2PC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWZfZ2FpbjMx PC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+Z2FpbjMxPC9rZXk+CistICAgICAgPHZhbHVlPjEwPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50Mzwva2V5PgorLSAg ICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5iYl9nYWluMzwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3Mzwva2V5PgorLSAgICAgIDx2YWx1ZT4w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29ycjM8 L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5PmZyZXEzPC9rZXk+CistICAgICAgPHZhbHVlPjEwMGU2PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWZfZ2FpbjM8L2tleT4K Ky0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5nYWluMzwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDQ8L2tleT4KKy0gICAgICA8dmFs dWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YmJf Z2FpbjQ8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5idzQ8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvcnI0PC9rZXk+Cist ICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5mcmVxNDwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlmX2dhaW40PC9rZXk+CistICAgICAg PHZhbHVlPjIwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+Z2FpbjQ8L2tleT4KKy0gICAgICA8dmFsdWU+MTA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbnQ1PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJiX2dhaW41PC9r ZXk+CistICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+Ync1PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb3JyNTwva2V5PgorLSAgICAgIDx2 YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ ZnJlcTU8L2tleT4KKy0gICAgICA8dmFsdWU+MTAwZTY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZl9nYWluNTwva2V5PgorLSAgICAgIDx2YWx1ZT4y MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW41 PC9rZXk+CistICAgICAgPHZhbHVlPjEwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YW50Njwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5iYl9nYWluNjwva2V5PgorLSAg ICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmJ3Njwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29ycjY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZyZXE2PC9r ZXk+CistICAgICAgPHZhbHVlPjEwMGU2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+aWZfZ2FpbjY8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWluNjwva2V5Pgor LSAgICAgIDx2YWx1ZT4xMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmFudDc8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YmJfZ2Fpbjc8L2tleT4KKy0gICAgICA8dmFs dWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5i dzc8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmNvcnI3PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVxNzwva2V5PgorLSAg ICAgIDx2YWx1ZT4xMDBlNjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmlmX2dhaW43PC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2Fpbjc8L2tleT4KKy0gICAgICA8 dmFsdWU+MTA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5hbnQ4PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmJiX2dhaW44PC9rZXk+CistICAgICAgPHZhbHVlPjIwPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Ync4PC9rZXk+ CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5jb3JyODwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZnJlcTg8L2tleT4KKy0gICAgICA8dmFs dWU+MTAwZTY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5pZl9nYWluODwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW44PC9rZXk+CistICAgICAgPHZhbHVlPjEw PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50OTwv a2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5iYl9nYWluOTwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3OTwva2V5PgorLSAgICAg IDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+Y29ycjk8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZyZXE5PC9rZXk+CistICAgICAgPHZhbHVlPjEwMGU2 PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWZfZ2Fp bjk8L2tleT4KKy0gICAgICA8dmFsdWU+MjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5nYWluOTwva2V5PgorLSAgICAgIDx2YWx1ZT4xMDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YXJnczwva2V5PgorLSAgICAgIDx2YWx1 ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5h YmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+ KDUzNiwgNDQwKTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+b3Nt b3Nkcl9zaW5rXzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT50eXBlPC9rZXk+CistICAgICAgPHZhbHVlPmZjMzI8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jbG9ja19zb3VyY2UwPC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnRpbWVfc291cmNlMDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jbG9ja19zb3VyY2UxPC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnRpbWVfc291cmNlMTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jbG9ja19zb3VyY2UyPC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnRpbWVfc291cmNlMjwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jbG9ja19zb3VyY2UzPC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnRpbWVfc291cmNlMzwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jbG9ja19zb3VyY2U0PC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnRpbWVfc291cmNlNDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jbG9ja19zb3VyY2U1PC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnRpbWVfc291cmNlNTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jbG9ja19zb3VyY2U2PC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnRpbWVfc291cmNlNjwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jbG9ja19zb3VyY2U3PC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnRpbWVfc291cmNlNzwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5uY2hhbjwva2V5PgorLSAgICAgIDx2YWx1ZT4x PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bnVtX21i b2FyZHM8L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PnNhbXBsZV9yYXRlPC9rZXk+CistICAgICAgPHZhbHVlPnNh bXBfcmF0ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnN5bmM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwv YmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+cmF0aW9uYWxfcmVzYW1wbGVyX3h4eDwva2V5 PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2YWx1ZT48 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50 PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmRlY2ltPC9rZXk+CistICAg ICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZmJ3PC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fY29v cmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oNDQ4LCA1OTIpPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAgICAg PHZhbHVlPjE4MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPnJhdGlvbmFsX3Jlc2FtcGxlcl94eHhfMDwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmludGVycDwva2V5 PgorLSAgICAgIDx2YWx1ZT5zYW1wX3JhdGUgLyAyMDAwMDA8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFs dWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1p bm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dGFwczwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50eXBlPC9rZXk+Cist ICAgICAgPHZhbHVlPmNjYzwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAg PGJsb2NrPgorLSAgICA8a2V5PnJhdGlvbmFsX3Jlc2FtcGxlcl94eHg8L2tleT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAg ICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5kZWNpbTwva2V5PgorLSAgICAgIDx2YWx1ZT40 OTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFi bGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5mYnc8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9r ZXk+CistICAgICAgPHZhbHVlPig0MzIsIDM1Mik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgw PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tl eT4KKy0gICAgICA8dmFsdWU+cmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8xPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aW50ZXJwPC9rZXk+CistICAgICAg PHZhbHVlPjEyNTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZh bHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50 YXBzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+Y2NjPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+cmF0aW9u YWxfcmVzYW1wbGVyX3h4eDwva2V5PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwv a2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAg ICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmRlY2ltPC9rZXk+CistICAgICAgPHZhbHVlPjI0MzwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVl PlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5m Ync8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPigyNDAs IDM1Mik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5f cm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+cmF0aW9u YWxfcmVzYW1wbGVyX3h4eF8yPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+aW50ZXJwPC9rZXk+CistICAgICAgPHZhbHVlPjI1NjwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAg ICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50YXBzPC9rZXk+CistICAgICAgPHZhbHVl PjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnR5cGU8 L2tleT4KKy0gICAgICA8dmFsdWU+Y2NjPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxv Y2s+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5hbmFsb2dfc2lnX3Nv dXJjZV94XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+YW5hbG9nX3dm bV90eF8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5Pgor LSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVj dGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5hbmFsb2dfd2ZtX3R4XzA8L3NvdXJjZV9ibG9j a19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+cmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8wPC9zaW5r X2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19r ZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAg PHNvdXJjZV9ibG9ja19pZD5ibG9ja3NfYWRkX3h4XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAg PHNpbmtfYmxvY2tfaWQ+b3Ntb3Nkcl9zaW5rXzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3Vy Y2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwv Y29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPmJsb2Nr c19jb25qdWdhdGVfY2NfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5y YXRpb25hbF9yZXNhbXBsZXJfeHh4XzE8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5 PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVj dGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPmJsb2Nrc19rZWVw X21faW5fbl8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19t dWx0aXBseV94eF8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vf a2V5PgorLSAgICA8c2lua19rZXk+MTwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8 Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ibG9ja3NfbXVsdGlwbHlfY29uc3Rf dnh4XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+YmxvY2tzX2FkZF94 eF8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAg ICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlv bj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ibG9ja3NfbXVsdGlwbHlfY29uc3Rfdnh4XzE8L3Nv dXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+YmxvY2tzX2FkZF94eF8wPC9zaW5r X2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19r ZXk+MTwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAg PHNvdXJjZV9ibG9ja19pZD5ibG9ja3NfbXVsdGlwbHlfeHhfMDwvc291cmNlX2Jsb2NrX2lkPgor LSAgICA8c2lua19ibG9ja19pZD5ibG9ja3NfY29uanVnYXRlX2NjXzA8L3NpbmtfYmxvY2tfaWQ+ CistICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5r X2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Js b2NrX2lkPmJsb2Nrc19yZXBlYXRfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9j a19pZD5ibG9ja3NfdmVjdG9yX3RvX3N0cmVhbV8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291 cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8 L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ibG9j a3Nfc3RyZWFtX3RvX3ZlY3Rvcl8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2Nr X2lkPmZmdF92eHhfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNl X2tleT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAg PGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX3ZlY3Rvcl9zb3VyY2Vf eF8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19tdWx0aXBs eV94eF8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5Pgor LSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVj dGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ibG9ja3NfdmVjdG9yX3RvX3N0cmVhbV8wPC9z b3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19rZWVwX21faW5fbl8w PC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8 c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4K Ky0gICAgPHNvdXJjZV9ibG9ja19pZD5ibG9ja3NfdmVjdG9yX3RvX3N0cmVhbV8xPC9zb3VyY2Vf YmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmRpZ2l0YWxfY2h1bmtzX3RvX3N5bWJvbHNf eHhfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0g ICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rp b24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX3dhdmZpbGVfc291cmNlXzA8L3NvdXJj ZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+bnJzYzVfaGRjX2VuY29kZXJfMDwvc2lu a19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNpbmtf a2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+CistICAg IDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX3dhdmZpbGVfc291cmNlXzA8L3NvdXJjZV9ibG9ja19p ZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+bnJzYzVfaGRjX2VuY29kZXJfMDwvc2lua19ibG9ja19p ZD4KKy0gICAgPHNvdXJjZV9rZXk+MTwvc291cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjE8L3Np bmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2Vf YmxvY2tfaWQ+ZGlnaXRhbF9jaHVua3NfdG9fc3ltYm9sc194eF8wPC9zb3VyY2VfYmxvY2tfaWQ+ CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19zdHJlYW1fdG9fdmVjdG9yXzA8L3NpbmtfYmxv Y2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4w PC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291 cmNlX2Jsb2NrX2lkPmZmdF92eHhfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9j a19pZD5ibG9ja3NfcmVwZWF0XzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8 L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlv bj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPmxvd19wYXNzX2ZpbHRl cl8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19tdWx0aXBs eV9jb25zdF92eHhfMTwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNl X2tleT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAg PGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+bnJzYzVfaGRjX2VuY29kZXJfMDwv c291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ucnNjNV9sMl9lbmNvZGVyXzA8 L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxz aW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgor LSAgICA8c291cmNlX2Jsb2NrX2lkPm5yc2M1X2wxX2ZtX2VuY29kZXJfbXAxXzA8L3NvdXJjZV9i bG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+YmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1fMTwv c2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNp bmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+Cist ICAgIDxzb3VyY2VfYmxvY2tfaWQ+bnJzYzVfbDJfZW5jb2Rlcl8wPC9zb3VyY2VfYmxvY2tfaWQ+ CistICAgIDxzaW5rX2Jsb2NrX2lkPm5yc2M1X2wxX2ZtX2VuY29kZXJfbXAxXzA8L3NpbmtfYmxv Y2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4w PC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291 cmNlX2Jsb2NrX2lkPm5yc2M1X3Npc19lbmNvZGVyXzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAg PHNpbmtfYmxvY2tfaWQ+bnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDFfMDwvc2lua19ibG9ja19pZD4K Ky0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjE8L3Npbmtf a2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxv Y2tfaWQ+bnJzYzVfcHNkX2VuY29kZXJfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19i bG9ja19pZD5ucnNjNV9sMl9lbmNvZGVyXzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vf a2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4xPC9zaW5rX2tleT4KKy0gIDwvY29u bmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPnJhdGlvbmFs X3Jlc2FtcGxlcl94eHhfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5s b3dfcGFzc19maWx0ZXJfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291 cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgor LSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+cmF0aW9uYWxfcmVzYW1wbGVy X3h4eF8xPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPnJhdGlvbmFsX3Jl c2FtcGxlcl94eHhfMjwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNl X2tleT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAg PGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+cmF0aW9uYWxfcmVzYW1wbGVyX3h4 eF8yPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19tdWx0aXBs eV9jb25zdF92eHhfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNl X2tleT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLTwv Zmxvd19ncmFwaD4KK2RpZmYgLS1naXQgYS9hcHBzL2hkX3R4X2hhY2tyZi5weSBiL2FwcHMvaGRf dHhfaGFja3JmLnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKK2luZGV4IGFiOTZmNzMuLjAw MDAwMDAKKy0tLSBhcHBzL2hkX3R4X2hhY2tyZi5weQorKysrIC9kZXYvbnVsbAorQEAgLTEsMTU3 ICswLDAgQEAKKy0jIS91c3IvYmluL2VudiBweXRob24yCistIyAtKi0gY29kaW5nOiB1dGYtOCAt Ki0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor LSMgR05VIFJhZGlvIFB5dGhvbiBGbG93IEdyYXBoCistIyBUaXRsZTogSGQgVHggSGFja3JmCist IyBHZW5lcmF0ZWQ6IFN1biBPY3QgMTUgMDA6MTE6NDkgMjAxNworLSMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistCistZnJvbSBnbnVyYWRpbyBpbXBv cnQgYW5hbG9nCistZnJvbSBnbnVyYWRpbyBpbXBvcnQgYmxvY2tzCistZnJvbSBnbnVyYWRpbyBp bXBvcnQgZGlnaXRhbAorLWZyb20gZ251cmFkaW8gaW1wb3J0IGVuZ19ub3RhdGlvbgorLWZyb20g Z251cmFkaW8gaW1wb3J0IGZmdAorLWZyb20gZ251cmFkaW8gaW1wb3J0IGZpbHRlcgorLWZyb20g Z251cmFkaW8gaW1wb3J0IGdyCistZnJvbSBnbnVyYWRpby5lbmdfb3B0aW9uIGltcG9ydCBlbmdf b3B0aW9uCistZnJvbSBnbnVyYWRpby5mZnQgaW1wb3J0IHdpbmRvdworLWZyb20gZ251cmFkaW8u ZmlsdGVyIGltcG9ydCBmaXJkZXMKKy1mcm9tIG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIK Ky1pbXBvcnQgbWF0aAorLWltcG9ydCBucnNjNQorLWltcG9ydCBvc21vc2RyCistaW1wb3J0IHRp bWUKKy0KKy0KKy1jbGFzcyBoZF90eF9oYWNrcmYoZ3IudG9wX2Jsb2NrKToKKy0KKy0gICAgZGVm IF9faW5pdF9fKHNlbGYpOgorLSAgICAgICAgZ3IudG9wX2Jsb2NrLl9faW5pdF9fKHNlbGYsICJI ZCBUeCBIYWNrcmYiKQorLQorLSAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0gICAgICAgICMgVmFyaWFibGVzCistICAgICAgICAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSAgICAgICAg c2VsZi5zYW1wX3JhdGUgPSBzYW1wX3JhdGUgPSAyMDAwMDAwCistICAgICAgICBzZWxmLmZyZXEg PSBmcmVxID0gOTUuN2U2CistCistICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSAgICAgICAgIyBCbG9ja3MKKy0gICAgICAgICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistICAgICAgICBz ZWxmLnJhdGlvbmFsX3Jlc2FtcGxlcl94eHhfMiA9IGZpbHRlci5yYXRpb25hbF9yZXNhbXBsZXJf Y2NjKAorLSAgICAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uPTI1NiwKKy0gICAgICAgICAgICAg ICAgZGVjaW1hdGlvbj0yNDMsCistICAgICAgICAgICAgICAgIHRhcHM9Tm9uZSwKKy0gICAgICAg ICAgICAgICAgZnJhY3Rpb25hbF9idz1Ob25lLAorLSAgICAgICAgKQorLSAgICAgICAgc2VsZi5y YXRpb25hbF9yZXNhbXBsZXJfeHh4XzEgPSBmaWx0ZXIucmF0aW9uYWxfcmVzYW1wbGVyX2NjYygK Ky0gICAgICAgICAgICAgICAgaW50ZXJwb2xhdGlvbj0xMjUsCistICAgICAgICAgICAgICAgIGRl Y2ltYXRpb249NDksCistICAgICAgICAgICAgICAgIHRhcHM9Tm9uZSwKKy0gICAgICAgICAgICAg ICAgZnJhY3Rpb25hbF9idz1Ob25lLAorLSAgICAgICAgKQorLSAgICAgICAgc2VsZi5yYXRpb25h bF9yZXNhbXBsZXJfeHh4XzAgPSBmaWx0ZXIucmF0aW9uYWxfcmVzYW1wbGVyX2NjYygKKy0gICAg ICAgICAgICAgICAgaW50ZXJwb2xhdGlvbj1zYW1wX3JhdGUgLyAyMDAwMDAsCistICAgICAgICAg ICAgICAgIGRlY2ltYXRpb249MSwKKy0gICAgICAgICAgICAgICAgdGFwcz1Ob25lLAorLSAgICAg ICAgICAgICAgICBmcmFjdGlvbmFsX2J3PU5vbmUsCistICAgICAgICApCistICAgICAgICBzZWxm Lm9zbW9zZHJfc2lua18wID0gb3Ntb3Nkci5zaW5rKCBhcmdzPSJudW1jaGFuPSIgKyBzdHIoMSkg KyAiICIgKyAnJyApCistICAgICAgICBzZWxmLm9zbW9zZHJfc2lua18wLnNldF9zYW1wbGVfcmF0 ZShzYW1wX3JhdGUpCistICAgICAgICBzZWxmLm9zbW9zZHJfc2lua18wLnNldF9jZW50ZXJfZnJl cShmcmVxLCAwKQorLSAgICAgICAgc2VsZi5vc21vc2RyX3NpbmtfMC5zZXRfZnJlcV9jb3JyKDAs IDApCistICAgICAgICBzZWxmLm9zbW9zZHJfc2lua18wLnNldF9nYWluKDAsIDApCistICAgICAg ICBzZWxmLm9zbW9zZHJfc2lua18wLnNldF9pZl9nYWluKDQwLCAwKQorLSAgICAgICAgc2VsZi5v c21vc2RyX3NpbmtfMC5zZXRfYmJfZ2FpbigwLCAwKQorLSAgICAgICAgc2VsZi5vc21vc2RyX3Np bmtfMC5zZXRfYW50ZW5uYSgnJywgMCkKKy0gICAgICAgIHNlbGYub3Ntb3Nkcl9zaW5rXzAuc2V0 X2JhbmR3aWR0aCgxLjVlNiwgMCkKKy0KKy0gICAgICAgIHNlbGYubnJzYzVfc2lzX2VuY29kZXJf MCA9IG5yc2M1LnNpc19lbmNvZGVyKCdBQkNEJykKKy0gICAgICAgIHNlbGYubnJzYzVfcHNkX2Vu Y29kZXJfMCA9IG5yc2M1LnBzZF9lbmNvZGVyKDAsICdUaXRsZScsICdBcnRpc3QnKQorLSAgICAg ICAgc2VsZi5ucnNjNV9sMl9lbmNvZGVyXzAgPSBucnNjNS5sMl9lbmNvZGVyKDEsIDAsIDE0NjE3 NikKKy0gICAgICAgIHNlbGYubnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDFfMCA9IG5yc2M1LmwxX2Zt X2VuY29kZXIoMSkKKy0gICAgICAgIHNlbGYubnJzYzVfaGRjX2VuY29kZXJfMCA9IG5yc2M1Lmhk Y19lbmNvZGVyKDIsIDY0MDAwKQorLSAgICAgICAgc2VsZi5sb3dfcGFzc19maWx0ZXJfMCA9IGZp bHRlci5maXJfZmlsdGVyX2NjZigxLCBmaXJkZXMubG93X3Bhc3MoCistICAgICAgICAJMSwgc2Ft cF9yYXRlLCA4MDAwMCwgMjAwMDAsIGZpcmRlcy5XSU5fSEFNTUlORywgNi43NikpCistICAgICAg ICBzZWxmLmZmdF92eHhfMCA9IGZmdC5mZnRfdmNjKDIwNDgsIEZhbHNlLCAod2luZG93LnJlY3Rh bmd1bGFyKDIwNDgpKSwgVHJ1ZSwgMSkKKy0gICAgICAgIHNlbGYuZGlnaXRhbF9jaHVua3NfdG9f c3ltYm9sc194eF8wID0gZGlnaXRhbC5jaHVua3NfdG9fc3ltYm9sc19iYygoLTEtMWosIC0xKzFq LCAxLTFqLCAxKzFqLCAwKSwgMSkKKy0gICAgICAgIHNlbGYuYmxvY2tzX3dhdmZpbGVfc291cmNl XzAgPSBibG9ja3Mud2F2ZmlsZV9zb3VyY2UoJ3NhbXBsZS53YXYnLCBUcnVlKQorLSAgICAgICAg c2VsZi5ibG9ja3NfdmVjdG9yX3RvX3N0cmVhbV8xID0gYmxvY2tzLnZlY3Rvcl90b19zdHJlYW0o Z3Iuc2l6ZW9mX2NoYXIqMSwgMTA0ODU3NikKKy0gICAgICAgIHNlbGYuYmxvY2tzX3ZlY3Rvcl90 b19zdHJlYW1fMCA9IGJsb2Nrcy52ZWN0b3JfdG9fc3RyZWFtKGdyLnNpemVvZl9ncl9jb21wbGV4 KjEsIDIwNDgpCistICAgICAgICBzZWxmLmJsb2Nrc192ZWN0b3Jfc291cmNlX3hfMCA9IGJsb2Nr cy52ZWN0b3Jfc291cmNlX2MoW21hdGguc2luKG1hdGgucGkgLyAyICogaSAvIDExMikgZm9yIGkg aW4gcmFuZ2UoMTEyKV0gKyBbMV0gKiAoMjA0OC0xMTIpICsgW21hdGguY29zKG1hdGgucGkgLyAy ICogaSAvIDExMikgZm9yIGkgaW4gcmFuZ2UoMTEyKV0sIFRydWUsIDEsIFtdKQorLSAgICAgICAg c2VsZi5ibG9ja3Nfc3RyZWFtX3RvX3ZlY3Rvcl8wID0gYmxvY2tzLnN0cmVhbV90b192ZWN0b3Io Z3Iuc2l6ZW9mX2dyX2NvbXBsZXgqMSwgMjA0OCkKKy0gICAgICAgIHNlbGYuYmxvY2tzX3JlcGVh dF8wID0gYmxvY2tzLnJlcGVhdChnci5zaXplb2ZfZ3JfY29tcGxleCoyMDQ4LCAyKQorLSAgICAg ICAgc2VsZi5ibG9ja3NfbXVsdGlwbHlfeHhfMCA9IGJsb2Nrcy5tdWx0aXBseV92Y2MoMSkKKy0g ICAgICAgIHNlbGYuYmxvY2tzX211bHRpcGx5X2NvbnN0X3Z4eF8xID0gYmxvY2tzLm11bHRpcGx5 X2NvbnN0X3ZjYygoMC4xLCApKQorLSAgICAgICAgc2VsZi5ibG9ja3NfbXVsdGlwbHlfY29uc3Rf dnh4XzAgPSBibG9ja3MubXVsdGlwbHlfY29uc3RfdmNjKCgwLjAwMSwgKSkKKy0gICAgICAgIHNl bGYuYmxvY2tzX2tlZXBfbV9pbl9uXzAgPSBibG9ja3Mua2VlcF9tX2luX24oZ3Iuc2l6ZW9mX2dy X2NvbXBsZXgsIDIxNjAsIDQwOTYsIDApCistICAgICAgICBzZWxmLmJsb2Nrc19jb25qdWdhdGVf Y2NfMCA9IGJsb2Nrcy5jb25qdWdhdGVfY2MoKQorLSAgICAgICAgc2VsZi5ibG9ja3NfYWRkX3h4 XzAgPSBibG9ja3MuYWRkX3ZjYygxKQorLSAgICAgICAgc2VsZi5hbmFsb2dfd2ZtX3R4XzAgPSBh bmFsb2cud2ZtX3R4KAorLSAgICAgICAgCWF1ZGlvX3JhdGU9NTAwMDAsCistICAgICAgICAJcXVh ZF9yYXRlPTIwMDAwMCwKKy0gICAgICAgIAl0YXU9NzVlLTYsCistICAgICAgICAJbWF4X2Rldj03 NWUzLAorLSAgICAgICAgCWZoPS0xLjAsCistICAgICAgICApCistICAgICAgICBzZWxmLmFuYWxv Z19zaWdfc291cmNlX3hfMCA9IGFuYWxvZy5zaWdfc291cmNlX2YoNTAwMDAsIGFuYWxvZy5HUl9D T1NfV0FWRSwgMTAwMCwgMC4xLCAwKQorLQorLSAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0gICAgICAgICMgQ29ubmVjdGlvbnMKKy0g ICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CistICAgICAgICBzZWxmLmNvbm5lY3QoKHNlbGYuYW5hbG9nX3NpZ19zb3VyY2VfeF8wLCAwKSwg KHNlbGYuYW5hbG9nX3dmbV90eF8wLCAwKSkKKy0gICAgICAgIHNlbGYuY29ubmVjdCgoc2VsZi5h bmFsb2dfd2ZtX3R4XzAsIDApLCAoc2VsZi5yYXRpb25hbF9yZXNhbXBsZXJfeHh4XzAsIDApKQor LSAgICAgICAgc2VsZi5jb25uZWN0KChzZWxmLmJsb2Nrc19hZGRfeHhfMCwgMCksIChzZWxmLm9z bW9zZHJfc2lua18wLCAwKSkKKy0gICAgICAgIHNlbGYuY29ubmVjdCgoc2VsZi5ibG9ja3NfY29u anVnYXRlX2NjXzAsIDApLCAoc2VsZi5yYXRpb25hbF9yZXNhbXBsZXJfeHh4XzEsIDApKQorLSAg ICAgICAgc2VsZi5jb25uZWN0KChzZWxmLmJsb2Nrc19rZWVwX21faW5fbl8wLCAwKSwgKHNlbGYu YmxvY2tzX211bHRpcGx5X3h4XzAsIDEpKQorLSAgICAgICAgc2VsZi5jb25uZWN0KChzZWxmLmJs b2Nrc19tdWx0aXBseV9jb25zdF92eHhfMCwgMCksIChzZWxmLmJsb2Nrc19hZGRfeHhfMCwgMCkp CistICAgICAgICBzZWxmLmNvbm5lY3QoKHNlbGYuYmxvY2tzX211bHRpcGx5X2NvbnN0X3Z4eF8x LCAwKSwgKHNlbGYuYmxvY2tzX2FkZF94eF8wLCAxKSkKKy0gICAgICAgIHNlbGYuY29ubmVjdCgo c2VsZi5ibG9ja3NfbXVsdGlwbHlfeHhfMCwgMCksIChzZWxmLmJsb2Nrc19jb25qdWdhdGVfY2Nf MCwgMCkpCistICAgICAgICBzZWxmLmNvbm5lY3QoKHNlbGYuYmxvY2tzX3JlcGVhdF8wLCAwKSwg KHNlbGYuYmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1fMCwgMCkpCistICAgICAgICBzZWxmLmNvbm5l Y3QoKHNlbGYuYmxvY2tzX3N0cmVhbV90b192ZWN0b3JfMCwgMCksIChzZWxmLmZmdF92eHhfMCwg MCkpCistICAgICAgICBzZWxmLmNvbm5lY3QoKHNlbGYuYmxvY2tzX3ZlY3Rvcl9zb3VyY2VfeF8w LCAwKSwgKHNlbGYuYmxvY2tzX211bHRpcGx5X3h4XzAsIDApKQorLSAgICAgICAgc2VsZi5jb25u ZWN0KChzZWxmLmJsb2Nrc192ZWN0b3JfdG9fc3RyZWFtXzAsIDApLCAoc2VsZi5ibG9ja3Nfa2Vl cF9tX2luX25fMCwgMCkpCistICAgICAgICBzZWxmLmNvbm5lY3QoKHNlbGYuYmxvY2tzX3ZlY3Rv cl90b19zdHJlYW1fMSwgMCksIChzZWxmLmRpZ2l0YWxfY2h1bmtzX3RvX3N5bWJvbHNfeHhfMCwg MCkpCistICAgICAgICBzZWxmLmNvbm5lY3QoKHNlbGYuYmxvY2tzX3dhdmZpbGVfc291cmNlXzAs IDApLCAoc2VsZi5ucnNjNV9oZGNfZW5jb2Rlcl8wLCAwKSkKKy0gICAgICAgIHNlbGYuY29ubmVj dCgoc2VsZi5ibG9ja3Nfd2F2ZmlsZV9zb3VyY2VfMCwgMSksIChzZWxmLm5yc2M1X2hkY19lbmNv ZGVyXzAsIDEpKQorLSAgICAgICAgc2VsZi5jb25uZWN0KChzZWxmLmRpZ2l0YWxfY2h1bmtzX3Rv X3N5bWJvbHNfeHhfMCwgMCksIChzZWxmLmJsb2Nrc19zdHJlYW1fdG9fdmVjdG9yXzAsIDApKQor LSAgICAgICAgc2VsZi5jb25uZWN0KChzZWxmLmZmdF92eHhfMCwgMCksIChzZWxmLmJsb2Nrc19y ZXBlYXRfMCwgMCkpCistICAgICAgICBzZWxmLmNvbm5lY3QoKHNlbGYubG93X3Bhc3NfZmlsdGVy XzAsIDApLCAoc2VsZi5ibG9ja3NfbXVsdGlwbHlfY29uc3Rfdnh4XzEsIDApKQorLSAgICAgICAg c2VsZi5jb25uZWN0KChzZWxmLm5yc2M1X2hkY19lbmNvZGVyXzAsIDApLCAoc2VsZi5ucnNjNV9s Ml9lbmNvZGVyXzAsIDApKQorLSAgICAgICAgc2VsZi5jb25uZWN0KChzZWxmLm5yc2M1X2wxX2Zt X2VuY29kZXJfbXAxXzAsIDApLCAoc2VsZi5ibG9ja3NfdmVjdG9yX3RvX3N0cmVhbV8xLCAwKSkK Ky0gICAgICAgIHNlbGYuY29ubmVjdCgoc2VsZi5ucnNjNV9sMl9lbmNvZGVyXzAsIDApLCAoc2Vs Zi5ucnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wLCAwKSkKKy0gICAgICAgIHNlbGYuY29ubmVjdCgo c2VsZi5ucnNjNV9wc2RfZW5jb2Rlcl8wLCAwKSwgKHNlbGYubnJzYzVfbDJfZW5jb2Rlcl8wLCAx KSkKKy0gICAgICAgIHNlbGYuY29ubmVjdCgoc2VsZi5ucnNjNV9zaXNfZW5jb2Rlcl8wLCAwKSwg KHNlbGYubnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDFfMCwgMSkpCistICAgICAgICBzZWxmLmNvbm5l Y3QoKHNlbGYucmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8wLCAwKSwgKHNlbGYubG93X3Bhc3NfZmls dGVyXzAsIDApKQorLSAgICAgICAgc2VsZi5jb25uZWN0KChzZWxmLnJhdGlvbmFsX3Jlc2FtcGxl cl94eHhfMSwgMCksIChzZWxmLnJhdGlvbmFsX3Jlc2FtcGxlcl94eHhfMiwgMCkpCistICAgICAg ICBzZWxmLmNvbm5lY3QoKHNlbGYucmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8yLCAwKSwgKHNlbGYu YmxvY2tzX211bHRpcGx5X2NvbnN0X3Z4eF8wLCAwKSkKKy0KKy0gICAgZGVmIGdldF9zYW1wX3Jh dGUoc2VsZik6CistICAgICAgICByZXR1cm4gc2VsZi5zYW1wX3JhdGUKKy0KKy0gICAgZGVmIHNl dF9zYW1wX3JhdGUoc2VsZiwgc2FtcF9yYXRlKToKKy0gICAgICAgIHNlbGYuc2FtcF9yYXRlID0g c2FtcF9yYXRlCistICAgICAgICBzZWxmLm9zbW9zZHJfc2lua18wLnNldF9zYW1wbGVfcmF0ZShz ZWxmLnNhbXBfcmF0ZSkKKy0gICAgICAgIHNlbGYubG93X3Bhc3NfZmlsdGVyXzAuc2V0X3RhcHMo ZmlyZGVzLmxvd19wYXNzKDEsIHNlbGYuc2FtcF9yYXRlLCA4MDAwMCwgMjAwMDAsIGZpcmRlcy5X SU5fSEFNTUlORywgNi43NikpCistCistICAgIGRlZiBnZXRfZnJlcShzZWxmKToKKy0gICAgICAg IHJldHVybiBzZWxmLmZyZXEKKy0KKy0gICAgZGVmIHNldF9mcmVxKHNlbGYsIGZyZXEpOgorLSAg ICAgICAgc2VsZi5mcmVxID0gZnJlcQorLSAgICAgICAgc2VsZi5vc21vc2RyX3NpbmtfMC5zZXRf Y2VudGVyX2ZyZXEoc2VsZi5mcmVxLCAwKQorLQorLQorLWRlZiBtYWluKHRvcF9ibG9ja19jbHM9 aGRfdHhfaGFja3JmLCBvcHRpb25zPU5vbmUpOgorLQorLSAgICB0YiA9IHRvcF9ibG9ja19jbHMo KQorLSAgICB0Yi5zdGFydCgpCistICAgIHRyeToKKy0gICAgICAgIHJhd19pbnB1dCgnUHJlc3Mg RW50ZXIgdG8gcXVpdDogJykKKy0gICAgZXhjZXB0IEVPRkVycm9yOgorLSAgICAgICAgcGFzcwor LSAgICB0Yi5zdG9wKCkKKy0gICAgdGIud2FpdCgpCistCistCistaWYgX19uYW1lX18gPT0gJ19f bWFpbl9fJzoKKy0gICAgbWFpbigpCitkaWZmIC0tZ2l0IGEvYXBwcy9oZF90eF9ydGxfZmlsZS5n cmMgYi9hcHBzL2hkX3R4X3J0bF9maWxlLmdyYworaW5kZXggMjk5NDM4My4uOTJmNTM1MSAxMDA2 NDQKKy0tLSBhcHBzL2hkX3R4X3J0bF9maWxlLmdyYworKysrIGFwcHMvaGRfdHhfcnRsX2ZpbGUu Z3JjCitAQCAtMSwxNDIwICsxLDQ4OCBAQAorLTw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9 J3V0Zi04Jz8+CistPD9ncmMgZm9ybWF0PScxJyBjcmVhdGVkPSczLjcuMTInPz4KKy08Zmxvd19n cmFwaD4KKy0gIDx0aW1lc3RhbXA+RnJpIFNlcCAxNiAwMTozNTo1MyAyMDE2PC90aW1lc3RhbXA+ CistICA8YmxvY2s+CistICAgIDxrZXk+b3B0aW9uczwva2V5PgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5hdXRob3I8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+d2luZG93X3NpemU8L2tleT4KKy0gICAgICA8 dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ Y2F0ZWdvcnk8L2tleT4KKy0gICAgICA8dmFsdWU+W0dSQyBIaWVyIEJsb2Nrc108L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50PC9rZXk+Cist ICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmRlc2NyaXB0aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAg PHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oOCwgMTIpPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+Cist ICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5nZW5lcmF0ZV9vcHRpb25zPC9rZXk+CistICAgICAgPHZhbHVlPm5vX2d1aTwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmhpZXJfYmxvY2tf c3JjX3BhdGg8L2tleT4KKy0gICAgICA8dmFsdWU+Ljo8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5oZF90eF9y dGxfZmlsZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pm1heF9ub3V0czwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cXRfcXNzX3RoZW1lPC9rZXk+CistICAgICAgPHZh bHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnJl YWx0aW1lX3NjaGVkdWxpbmc8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cnVuX2NvbW1hbmQ8L2tleT4KKy0gICAg ICA8dmFsdWU+e3B5dGhvbn0gLXUge2ZpbGVuYW1lfTwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnJ1bl9vcHRpb25zPC9rZXk+CistICAgICAgPHZhbHVl PnJ1bjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnJ1 bjwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+dGhyZWFkX3NhZmVfc2V0dGVyczwva2V5PgorLSAgICAgIDx2 YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50 aXRsZTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9i bG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5ibG9ja3NfYWRkX2NvbnN0X3Z4eDwva2V5Pgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2YWx1ZT48L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50PC9r ZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmNvbnN0PC9rZXk+CistICAgICAgPHZhbHVlPjEyNy41PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0g ICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAg ICAgPHZhbHVlPig2MDAsIDU2NCk8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAg PHZhbHVlPmJsb2Nrc19hZGRfY29uc3Rfdnh4XzBfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+ZmxvYXQ8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRi dWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmxlbjwva2V5Pgor LSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8 YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX2NvbXBsZXhfdG9fZmxvYXQ8L2tleT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAg ICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1 ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDI5NiwgNTUyKTwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAg ICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX2NvbXBsZXhfdG9fZmxvYXRfMDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1 Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT52bGVuPC9rZXk+Cist ICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxi bG9jaz4KKy0gICAgPGtleT5ibG9ja3NfY29uanVnYXRlX2NjPC9rZXk+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8 dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1 ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29y ZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig2MjQsIDM3Nik8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8 dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX2Nvbmp1Z2F0ZV9jY18wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+ CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5taW5vdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc19maWxl X3Npbms8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YXBwZW5kPC9rZXk+CistICAg ICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1 ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZp bml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZmlsZTwva2V5 PgorLSAgICAgIDx2YWx1ZT5oZC1nZW5lcmF0ZWQucmF3PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFs dWU+KDkwNCwgNTQ4KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+ YmxvY2tzX2ZpbGVfc2lua18wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5ieXRlPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dW5idWZmZXJlZDwva2V5PgorLSAg ICAgIDx2YWx1ZT5GYWxzZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PnZsZW48L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc19mbG9hdF90b191 Y2hhcjwva2V5PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAg IDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVk PC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oNzQ0 LCA1NjgpPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ X3JvdGF0aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ibG9ja3Nf ZmxvYXRfdG9fdWNoYXJfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAg ICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9j az4KKy0gICAgPGtleT5ibG9ja3NfaW50ZXJsZWF2ZTwva2V5PgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5ibG9ja3NpemU8L2tleT4KKy0gICAgICA8dmFs dWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNv bW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tl eT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig0NzIsIDU1 Mik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90 YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPmJsb2Nrc19pbnRl cmxlYXZlXzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT50eXBlPC9rZXk+CistICAgICAgPHZhbHVlPmZsb2F0PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5taW5v dXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pm51bV9zdHJlYW1zPC9rZXk+CistICAgICAgPHZhbHVlPjI8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT52bGVuPC9r ZXk+CistICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4K Ky0gIDxibG9jaz4KKy0gICAgPGtleT5ibG9ja3Nfa2VlcF9tX2luX248L2tleT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAg ICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1 ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDk1MiwgMzQwKTwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAg ICAgIDx2YWx1ZT4xODA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ibG9ja3Nfa2VlcF9tX2luX25fMDwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm08L2tleT4KKy0g ICAgICA8dmFsdWU+MjE2MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAg ICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5uPC9rZXk+CistICAgICAgPHZhbHVlPjQwOTY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT50eXBlPC9rZXk+CistICAgICAgPHZhbHVlPmNvbXBs ZXg8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5vZmZz ZXQ8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Js b2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc19tdWx0aXBseV9jb25zdF92eHg8L2tl eT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+ PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVu dDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5jb25zdDwva2V5PgorLSAgICAgIDx2YWx1ZT4wLjU8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0g ICAgICA8dmFsdWU+KDI2NCwgMzcyKTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4xODA8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAg ICAgIDx2YWx1ZT5ibG9ja3NfbXVsdGlwbHlfY29uc3Rfdnh4XzA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50eXBlPC9rZXk+CistICAgICAgPHZhbHVl PmNvbXBsZXg8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1 ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmxl bjwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxv Y2s+CistICA8YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX211bHRpcGx5X3h4PC9rZXk+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8 dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig4MTYsIDM2MCk8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0g ICAgICA8dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX211bHRpcGx5X3h4XzA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50eXBlPC9rZXk+ CistICAgICAgPHZhbHVlPmNvbXBsZXg8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5 PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+bnVtX2lucHV0czwva2V5PgorLSAgICAgIDx2YWx1ZT4yPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmxlbjwva2V5PgorLSAgICAg IDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+ CistICAgIDxrZXk+YmxvY2tzX3JlcGVhdDwva2V5PgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5hbGlhczwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9r ZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fY29vcmRpbmF0ZTwva2V5 PgorLSAgICAgIDx2YWx1ZT4oMTEwNCwgMjQ0KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4K Ky0gICAgICA8dmFsdWU+YmxvY2tzX3JlcGVhdF8wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aW50ZXJwPC9rZXk+CistICAgICAgPHZhbHVlPjI8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8 L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAg ICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+dmxlbjwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDQ4PC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX3N0cmVh bV90b192ZWN0b3I8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2 YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5f ZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFs dWU+KDY5NiwgMjUyKTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+ YmxvY2tzX3N0cmVhbV90b192ZWN0b3JfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+Y29tcGxleDwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwv a2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5udW1faXRlbXM8L2tleT4K Ky0gICAgICA8dmFsdWU+MjA0ODwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PnZsZW48L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc192ZWN0b3Jf c291cmNlX3g8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0g ICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1 ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5h YmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDk1 MiwgNDI4KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4xODA8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ibG9j a3NfdmVjdG9yX3NvdXJjZV94XzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cmVwZWF0PC9rZXk+CistICAgICAg PHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT50YWdzPC9rZXk+CistICAgICAgPHZhbHVlPltdPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmxlbjwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmVjdG9yPC9r ZXk+CistICAgICAgPHZhbHVlPlttYXRoLnNpbihtYXRoLnBpIC8gMiAqIGkgLyAxMTIpIGZvciBp IGluIHJhbmdlKDExMildICsgWzFdICogKDIwNDgtMTEyKSArIFttYXRoLmNvcyhtYXRoLnBpIC8g MiAqIGkgLyAxMTIpIGZvciBpIGluIHJhbmdlKDExMildPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX3ZlY3Rvcl90b19zdHJl YW08L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8 dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwv a2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDExMDQs IDM1Nik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5f cm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tz X3ZlY3Rvcl90b19zdHJlYW1fMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+Y29tcGxleDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5udW1faXRlbXM8L2tleT4KKy0gICAg ICA8dmFsdWU+MjA0ODwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PnZsZW48L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc192ZWN0b3JfdG9fc3Ry ZWFtPC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8 L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPigyODgs IDI1Mik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5f cm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPmJsb2Nrc192 ZWN0b3JfdG9fc3RyZWFtXzE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT50eXBlPC9rZXk+CistICAgICAgPHZhbHVlPmJ5dGU8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAg ICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bnVtX2l0ZW1zPC9rZXk+CistICAgICAgPHZh bHVlPjEwNDg1NzY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT52bGVuPC9rZXk+CistICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5ibG9ja3Nfd2F2ZmlsZV9zb3VyY2U8 L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFs dWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29t bWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5 PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+ZmlsZTwva2V5PgorLSAgICAgIDx2YWx1ZT5zYW1wbGUud2F2PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8 L2tleT4KKy0gICAgICA8dmFsdWU+KDMyOCwgMTYpPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjA8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5 PgorLSAgICAgIDx2YWx1ZT5ibG9ja3Nfd2F2ZmlsZV9zb3VyY2VfMDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAg IDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5uY2hhbjwva2V5PgorLSAgICAgIDx2YWx1ZT4y PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cmVwZWF0 PC9rZXk+CistICAgICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwv YmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+ZGlnaXRhbF9jaHVua3NfdG9fc3ltYm9sc194 eDwva2V5PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2 YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5j b21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmRpbWVuc2lvbjwv a2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9r ZXk+CistICAgICAgPHZhbHVlPig0NzIsIDI0NCk8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+ CistICAgICAgPHZhbHVlPmRpZ2l0YWxfY2h1bmtzX3RvX3N5bWJvbHNfeHhfMDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmluX3R5cGU8L2tleT4KKy0g ICAgICA8dmFsdWU+Ynl0ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAg ICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5udW1fcG9ydHM8L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm91dF90eXBlPC9rZXk+CistICAgICAgPHZh bHVlPmNvbXBsZXg8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5zeW1ib2xfdGFibGU8L2tleT4KKy0gICAgICA8dmFsdWU+LTEtMWosIC0xKzFqLCAxLTFq LCAxKzFqLCAwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+ CistICAgIDxrZXk+ZmZ0X3Z4eDwva2V5PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlh czwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+Cist ICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5mZnRfc2l6ZTwva2V5PgorLSAgICAg IDx2YWx1ZT4yMDQ4PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+Zm9yd2FyZDwva2V5PgorLSAgICAgIDx2YWx1ZT5GYWxzZTwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAg ICAgPHZhbHVlPig4ODAsIDIyNCk8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAg PHZhbHVlPmZmdF92eHhfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+Y29tcGxleDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAg ICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5udGhyZWFkczwva2V5PgorLSAgICAgIDx2 YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ c2hpZnQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PndpbmRvdzwva2V5PgorLSAgICAgIDx2YWx1ZT53aW5k b3cucmVjdGFuZ3VsYXIoMjA0OCk8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4K Ky0gIDxibG9jaz4KKy0gICAgPGtleT5pbXBvcnQ8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxl ZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDgs IDE5Nik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5f cm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPmltcG9ydF8w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aW1wb3J0 PC9rZXk+CistICAgICAgPHZhbHVlPmltcG9ydCBtYXRoPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+bnJzYzVfaGRjX2VuY29kZXI8L2tl eT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Yml0cmF0ZTwva2V5PgorLSAgICAgIDx2YWx1 ZT42NDAwMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmNoYW5uZWxzPC9rZXk+CistICAgICAgPHZhbHVlPjI8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50PC9r ZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAg ICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oNTEyLCAxNik8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tl eT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPm5yc2M1X2hkY19lbmNvZGVyXzA8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRi dWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+bnJz YzVfbDFfZm1fZW5jb2Rlcl9tcDE8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxp YXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0g ICAgICA8dmFsdWU+KDg4OCwgNDgpPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAg IDx2YWx1ZT5ucnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5taW5v dXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8 L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5Pm5yc2M1X2wyX2VuY29kZXI8L2tleT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5 PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAg IDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+Zmlyc3RfcHJvZzwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2l6ZTwva2V5PgorLSAgICAgIDx2YWx1 ZT4xNDYxNzY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oNjk2LCAzMik8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPm5yc2M1X2wyX2VuY29kZXJfMDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5 PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5udW1fcHJvZ3M8L2tleT4KKy0g ICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJs b2NrPgorLSAgICA8a2V5Pm5yc2M1X3Npc19lbmNvZGVyPC9rZXk+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFs dWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZm aW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGlu YXRlPC9rZXk+CistICAgICAgPHZhbHVlPig2ODgsIDEwOCk8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFs dWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pmlk PC9rZXk+CistICAgICAgPHZhbHVlPm5yc2M1X3Npc19lbmNvZGVyXzA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAg ICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2hvcnRfbmFtZTwva2V5PgorLSAgICAgIDx2 YWx1ZT5BQkNEPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+ CistICAgIDxrZXk+bnJzYzVfcHNkX2VuY29kZXI8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+YXJ0aXN0PC9rZXk+CistICAgICAgPHZhbHVlPkFydGlzdDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZh bHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNv bW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tl eT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig0ODgsIDky KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3Rh dGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+bnJzYzVfcHNkX2Vu Y29kZXJfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5wcm9n X251bTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+dGl0bGU8L2tleT4KKy0gICAgICA8dmFsdWU+VGl0bGU8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5y YXRpb25hbF9yZXNhbXBsZXJfeHh4PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFs aWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+ZGVjaW08L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZh bHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5mYnc8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig0 MzIsIDM1Mik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+cmF0 aW9uYWxfcmVzYW1wbGVyX3h4eF8xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+aW50ZXJwPC9rZXk+CistICAgICAgPHZhbHVlPjI8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dGFwczwva2V5PgorLSAgICAgIDx2YWx1 ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50eXBl PC9rZXk+CistICAgICAgPHZhbHVlPmNjYzwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Js b2NrPgorLSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX2FkZF9j b25zdF92eHhfMF8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nr c19mbG9hdF90b191Y2hhcl8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9z b3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+ CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ibG9ja3NfY29tcGxleF90 b19mbG9hdF8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19p bnRlcmxlYXZlXzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjE8L3NvdXJjZV9r ZXk+CistICAgIDxzaW5rX2tleT4xPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxj b25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPmJsb2Nrc19jb21wbGV4X3RvX2Zsb2F0 XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+YmxvY2tzX2ludGVybGVh dmVfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0g ICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rp b24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX2Nvbmp1Z2F0ZV9jY18wPC9zb3VyY2Vf YmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPnJhdGlvbmFsX3Jlc2FtcGxlcl94eHhfMTwv c2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNp bmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+Cist ICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX2Zsb2F0X3RvX3VjaGFyXzA8L3NvdXJjZV9ibG9j a19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+YmxvY2tzX2ZpbGVfc2lua18wPC9zaW5rX2Jsb2Nr X2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwv c2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJj ZV9ibG9ja19pZD5ibG9ja3NfaW50ZXJsZWF2ZV8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxz aW5rX2Jsb2NrX2lkPmJsb2Nrc19hZGRfY29uc3Rfdnh4XzBfMDwvc2lua19ibG9ja19pZD4KKy0g ICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5 PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tf aWQ+YmxvY2tzX2tlZXBfbV9pbl9uXzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxv Y2tfaWQ+YmxvY2tzX211bHRpcGx5X3h4XzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vf a2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4xPC9zaW5rX2tleT4KKy0gIDwvY29u bmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPmJsb2Nrc19t dWx0aXBseV9jb25zdF92eHhfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19p ZD5ibG9ja3NfY29tcGxleF90b19mbG9hdF8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNl X2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nv bm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ibG9ja3Nf bXVsdGlwbHlfeHhfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ibG9j a3NfY29uanVnYXRlX2NjXzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3Nv dXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4K Ky0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPmJsb2Nrc19yZXBlYXRfMDwv c291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ibG9ja3NfdmVjdG9yX3RvX3N0 cmVhbV8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5Pgor LSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVj dGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ibG9ja3Nfc3RyZWFtX3RvX3ZlY3Rvcl8wPC9z b3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmZmdF92eHhfMDwvc2lua19ibG9j a19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjA8 L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3Vy Y2VfYmxvY2tfaWQ+YmxvY2tzX3ZlY3Rvcl9zb3VyY2VfeF8wPC9zb3VyY2VfYmxvY2tfaWQ+Cist ICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19tdWx0aXBseV94eF8wPC9zaW5rX2Jsb2NrX2lkPgor LSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19r ZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9j a19pZD5ibG9ja3NfdmVjdG9yX3RvX3N0cmVhbV8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxz aW5rX2Jsb2NrX2lkPmJsb2Nrc19rZWVwX21faW5fbl8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8 c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+Cist ICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5i bG9ja3NfdmVjdG9yX3RvX3N0cmVhbV8xPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Js b2NrX2lkPmRpZ2l0YWxfY2h1bmtzX3RvX3N5bWJvbHNfeHhfMDwvc2lua19ibG9ja19pZD4KKy0g ICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5 PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tf aWQ+YmxvY2tzX3dhdmZpbGVfc291cmNlXzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtf YmxvY2tfaWQ+bnJzYzVfaGRjX2VuY29kZXJfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJj ZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9j b25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tz X3dhdmZpbGVfc291cmNlXzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+ bnJzYzVfaGRjX2VuY29kZXJfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MTwv c291cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjE8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9u PgorLSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+ZGlnaXRhbF9jaHVua3Nf dG9fc3ltYm9sc194eF8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJs b2Nrc19zdHJlYW1fdG9fdmVjdG9yXzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5 PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVj dGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPmZmdF92eHhfMDwv c291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ibG9ja3NfcmVwZWF0XzA8L3Np bmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5r X2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAg ICA8c291cmNlX2Jsb2NrX2lkPm5yc2M1X2hkY19lbmNvZGVyXzA8L3NvdXJjZV9ibG9ja19pZD4K Ky0gICAgPHNpbmtfYmxvY2tfaWQ+bnJzYzVfbDJfZW5jb2Rlcl8wPC9zaW5rX2Jsb2NrX2lkPgor LSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19r ZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9j a19pZD5ucnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxz aW5rX2Jsb2NrX2lkPmJsb2Nrc192ZWN0b3JfdG9fc3RyZWFtXzE8L3NpbmtfYmxvY2tfaWQ+Cist ICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tl eT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2Nr X2lkPm5yc2M1X2wyX2VuY29kZXJfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9j a19pZD5ucnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291 cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8 L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ucnNj NV9zaXNfZW5jb2Rlcl8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPm5y c2M1X2wxX2ZtX2VuY29kZXJfbXAxXzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5 PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4xPC9zaW5rX2tleT4KKy0gIDwvY29ubmVj dGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPm5yc2M1X3BzZF9l bmNvZGVyXzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+bnJzYzVfbDJf ZW5jb2Rlcl8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5 PgorLSAgICA8c2lua19rZXk+MTwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29u bmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5yYXRpb25hbF9yZXNhbXBsZXJfeHh4XzE8 L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+YmxvY2tzX211bHRpcGx5X2Nv bnN0X3Z4eF8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5 PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistPC9mbG93 X2dyYXBoPgorK29wdGlvbnM6CisrICBwYXJhbWV0ZXJzOgorKyAgICBhdXRob3I6ICcnCisrICAg IGNhdGVnb3J5OiAnW0dSQyBIaWVyIEJsb2Nrc10nCisrICAgIGNtYWtlX29wdDogJycKKysgICAg Y29tbWVudDogJycKKysgICAgY29weXJpZ2h0OiAnJworKyAgICBkZXNjcmlwdGlvbjogJycKKysg ICAgZ2VuX2NtYWtlOiAnT24nCisrICAgIGdlbl9saW5raW5nOiBkeW5hbWljCisrICAgIGdlbmVy YXRlX29wdGlvbnM6IG5vX2d1aQorKyAgICBoaWVyX2Jsb2NrX3NyY19wYXRoOiAnLjonCisrICAg IGlkOiBoZF90eF9ydGxfZmlsZQorKyAgICBtYXhfbm91dHM6ICcwJworKyAgICBvdXRwdXRfbGFu Z3VhZ2U6IHB5dGhvbgorKyAgICBwbGFjZW1lbnQ6ICgwLDApCisrICAgIHF0X3Fzc190aGVtZTog JycKKysgICAgcmVhbHRpbWVfc2NoZWR1bGluZzogJycKKysgICAgcnVuOiAnVHJ1ZScKKysgICAg cnVuX2NvbW1hbmQ6ICd7cHl0aG9ufSAtdSB7ZmlsZW5hbWV9JworKyAgICBydW5fb3B0aW9uczog cHJvbXB0CisrICAgIHNpemluZ19tb2RlOiBmaXhlZAorKyAgICB0aHJlYWRfc2FmZV9zZXR0ZXJz OiAnJworKyAgICB0aXRsZTogJycKKysgICAgd2luZG93X3NpemU6ICcnCisrICBzdGF0ZXM6Cisr ICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3Ry dWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFs4LCAxMl0KKysgICAgcm90YXRpb246IDAK KysgICAgc3RhdGU6IGVuYWJsZWQKKysKKytibG9ja3M6CisrLSBuYW1lOiBibG9ja3NfYWRkX2Nv bnN0X3Z4eF8wXzAKKysgIGlkOiBibG9ja3NfYWRkX2NvbnN0X3Z4eAorKyAgcGFyYW1ldGVyczoK KysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAg ICBjb25zdDogJzEyNy41JworKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcw JworKyAgICB0eXBlOiBmbG9hdAorKyAgICB2bGVuOiAnMScKKysgIHN0YXRlczoKKysgICAgYnVz X3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6 IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzU3NiwgNTQ4LjBdCisrICAgIHJvdGF0aW9uOiAwCisr ICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBibG9ja3NfY29tcGxleF90b19mbG9hdF8wCisr ICBpZDogYmxvY2tzX2NvbXBsZXhfdG9fZmxvYXQKKysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmlu aXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAgY29tbWVudDogJycKKysgICAgbWF4b3V0YnVm OiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysgICAgdmxlbjogJzEnCisrICBzdGF0ZXM6Cisr ICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3Ry dWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFsyNzIsIDUzNi4wXQorKyAgICByb3RhdGlv bjogMAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogYmxvY2tzX2Nvbmp1Z2F0ZV9jY18w CisrICBpZDogYmxvY2tzX2Nvbmp1Z2F0ZV9jYworKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5p dHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBtYXhvdXRidWY6 ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgc3RhdGVzOgorKyAgICBidXNfc2luazogZmFs c2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVzX3N0cnVjdHVyZTogbnVsbAorKyAg ICBjb29yZGluYXRlOiBbNjI0LCA0MjQuMF0KKysgICAgcm90YXRpb246IDE4MAorKyAgICBzdGF0 ZTogZW5hYmxlZAorKy0gbmFtZTogYmxvY2tzX2ZpbGVfc2lua18wCisrICBpZDogYmxvY2tzX2Zp bGVfc2luaworKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAn JworKyAgICBhcHBlbmQ6ICdGYWxzZScKKysgICAgY29tbWVudDogJycKKysgICAgZmlsZTogaGQt Z2VuZXJhdGVkLnJhdworKyAgICB0eXBlOiBieXRlCisrICAgIHVuYnVmZmVyZWQ6ICdGYWxzZScK KysgICAgdmxlbjogJzEnCisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBi dXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5h dGU6IFs4ODAsIDUzMi4wXQorKyAgICByb3RhdGlvbjogMAorKyAgICBzdGF0ZTogZW5hYmxlZAor Ky0gbmFtZTogYmxvY2tzX2Zsb2F0X3RvX3VjaGFyXzAKKysgIGlkOiBibG9ja3NfZmxvYXRfdG9f dWNoYXIKKysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycK KysgICAgY29tbWVudDogJycKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAn MCcKKysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZh bHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzcyMCwgNTUy LjBdCisrICAgIHJvdGF0aW9uOiAwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBibG9j a3NfaW50ZXJsZWF2ZV8wCisrICBpZDogYmxvY2tzX2ludGVybGVhdmUKKysgIHBhcmFtZXRlcnM6 CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAgYmxvY2tzaXplOiAnMScK KysgICAgY29tbWVudDogJycKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAn MCcKKysgICAgbnVtX3N0cmVhbXM6ICcyJworKyAgICB0eXBlOiBmbG9hdAorKyAgICB2bGVuOiAn MScKKysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZh bHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzQ0OCwgNTM2 LjBdCisrICAgIHJvdGF0aW9uOiAwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBibG9j a3Nfa2VlcF9tX2luX25fMAorKyAgaWQ6IGJsb2Nrc19rZWVwX21faW5fbgorKyAgcGFyYW1ldGVy czoKKysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJwor KyAgICBtOiAnMjE2MCcKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcK KysgICAgbjogJzQwOTYnCisrICAgIG9mZnNldDogJzAnCisrICAgIHR5cGU6IGNvbXBsZXgKKysg IHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisr ICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzk1MiwgNDIwLjBdCisr ICAgIHJvdGF0aW9uOiAxODAKKysgICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6IGJsb2Nrc19t dWx0aXBseV9jb25zdF92eHhfMAorKyAgaWQ6IGJsb2Nrc19tdWx0aXBseV9jb25zdF92eHgKKysg IHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAgY29t bWVudDogJycKKysgICAgY29uc3Q6ICcwLjUnCisrICAgIG1heG91dGJ1ZjogJzAnCisrICAgIG1p bm91dGJ1ZjogJzAnCisrICAgIHR5cGU6IGNvbXBsZXgKKysgICAgdmxlbjogJzEnCisrICBzdGF0 ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBi dXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFsyNzIsIDQyMC4wXQorKyAgICBy b3RhdGlvbjogMTgwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBibG9ja3NfbXVsdGlw bHlfeHhfMAorKyAgaWQ6IGJsb2Nrc19tdWx0aXBseV94eAorKyAgcGFyYW1ldGVyczoKKysgICAg YWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBtYXhv dXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgICBudW1faW5wdXRzOiAnMicKKysg ICAgdHlwZTogY29tcGxleAorKyAgICB2bGVuOiAnMScKKysgIHN0YXRlczoKKysgICAgYnVzX3Np bms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51 bGwKKysgICAgY29vcmRpbmF0ZTogWzgxNiwgNDA4LjBdCisrICAgIHJvdGF0aW9uOiAxODAKKysg ICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6IGJsb2Nrc19yZXBlYXRfMAorKyAgaWQ6IGJsb2Nr c19yZXBlYXQKKysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczog JycKKysgICAgY29tbWVudDogJycKKysgICAgaW50ZXJwOiAnMicKKysgICAgbWF4b3V0YnVmOiAn MCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysgICAgdHlwZTogY29tcGxleAorKyAgICB2bGVuOiAn MjA0OCcKKysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6 IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzExMDQs IDI0NF0KKysgICAgcm90YXRpb246IDAKKysgICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6IGJs b2Nrc19zdHJlYW1fdG9fdmVjdG9yXzAKKysgIGlkOiBibG9ja3Nfc3RyZWFtX3RvX3ZlY3Rvcgor KyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBj b21tZW50OiAnJworKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAg ICBudW1faXRlbXM6ICcyMDQ4JworKyAgICB0eXBlOiBjb21wbGV4CisrICAgIHZsZW46ICcxJwor KyAgc3RhdGVzOgorKyAgICBidXNfc2luazogZmFsc2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UK KysgICAgYnVzX3N0cnVjdHVyZTogbnVsbAorKyAgICBjb29yZGluYXRlOiBbNjk2LCAyNTYuMF0K KysgICAgcm90YXRpb246IDAKKysgICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6IGJsb2Nrc192 ZWN0b3Jfc291cmNlX3hfMAorKyAgaWQ6IGJsb2Nrc192ZWN0b3Jfc291cmNlX3gKKysgIHBhcmFt ZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAgY29tbWVudDog JycKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysgICAgcmVwZWF0 OiAnVHJ1ZScKKysgICAgdGFnczogJ1tdJworKyAgICB0eXBlOiBjb21wbGV4CisrICAgIHZlY3Rv cjogJ1ttYXRoLnNpbihtYXRoLnBpIC8gMiAqIGkgLyAxMTIpIGZvciBpIGluIHJhbmdlKDExMild ICsgWzFdICogKDIwNDgtMTEyKQorKyAgICAgICsgW21hdGguY29zKG1hdGgucGkgLyAyICogaSAv IDExMikgZm9yIGkgaW4gcmFuZ2UoMTEyKV0nCisrICAgIHZsZW46ICcxJworKyAgc3RhdGVzOgor KyAgICBidXNfc2luazogZmFsc2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVzX3N0 cnVjdHVyZTogbnVsbAorKyAgICBjb29yZGluYXRlOiBbOTUyLCAzNDAuMF0KKysgICAgcm90YXRp b246IDE4MAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogYmxvY2tzX3ZlY3Rvcl90b19z dHJlYW1fMAorKyAgaWQ6IGJsb2Nrc192ZWN0b3JfdG9fc3RyZWFtCisrICBwYXJhbWV0ZXJzOgor KyAgICBhZmZpbml0eTogJycKKysgICAgYWxpYXM6ICcnCisrICAgIGNvbW1lbnQ6ICcnCisrICAg IG1heG91dGJ1ZjogJzAnCisrICAgIG1pbm91dGJ1ZjogJzAnCisrICAgIG51bV9pdGVtczogJzIw NDgnCisrICAgIHR5cGU6IGNvbXBsZXgKKysgICAgdmxlbjogJzEnCisrICBzdGF0ZXM6CisrICAg IGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0 dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFsxMTA0LCA0NDAuMF0KKysgICAgcm90YXRpb246 IDE4MAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogYmxvY2tzX3ZlY3Rvcl90b19zdHJl YW1fMQorKyAgaWQ6IGJsb2Nrc192ZWN0b3JfdG9fc3RyZWFtCisrICBwYXJhbWV0ZXJzOgorKyAg ICBhZmZpbml0eTogJycKKysgICAgYWxpYXM6ICcnCisrICAgIGNvbW1lbnQ6ICcnCisrICAgIG1h eG91dGJ1ZjogJzAnCisrICAgIG1pbm91dGJ1ZjogJzAnCisrICAgIG51bV9pdGVtczogJzEwNDg1 NzYnCisrICAgIHR5cGU6IGJ5dGUKKysgICAgdmxlbjogJzEnCisrICBzdGF0ZXM6CisrICAgIGJ1 c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJl OiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFsyODgsIDI1Ni4wXQorKyAgICByb3RhdGlvbjogMAor KyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogYmxvY2tzX3dhdmZpbGVfc291cmNlXzAKKysg IGlkOiBibG9ja3Nfd2F2ZmlsZV9zb3VyY2UKKysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5 OiAnJworKyAgICBhbGlhczogJycKKysgICAgY29tbWVudDogJycKKysgICAgZmlsZTogc2FtcGxl LndhdgorKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgICBuY2hh bjogJzInCisrICAgIHJlcGVhdDogJ1RydWUnCisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBm YWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisr ICAgIGNvb3JkaW5hdGU6IFs4OTYsIDU2LjBdCisrICAgIHJvdGF0aW9uOiAxODAKKysgICAgc3Rh dGU6IGVuYWJsZWQKKystIG5hbWU6IGRpZ2l0YWxfY2h1bmtzX3RvX3N5bWJvbHNfeHhfMAorKyAg aWQ6IGRpZ2l0YWxfY2h1bmtzX3RvX3N5bWJvbHNfeHgKKysgIHBhcmFtZXRlcnM6CisrICAgIGFm ZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAgY29tbWVudDogJycKKysgICAgZGltZW5z aW9uOiAnMScKKysgICAgaW5fdHlwZTogYnl0ZQorKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBt aW5vdXRidWY6ICcwJworKyAgICBudW1fcG9ydHM6ICcxJworKyAgICBvdXRfdHlwZTogY29tcGxl eAorKyAgICBzeW1ib2xfdGFibGU6ICgtMS0xaiwgLTErMWosIDEtMWosIDErMWosIDApCisrICBz dGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAg ICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFs0NzIsIDI1Ni4wXQorKyAg ICByb3RhdGlvbjogMAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogZmZ0X3Z4eF8wCisr ICBpZDogZmZ0X3Z4eAorKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFs aWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBmZnRfc2l6ZTogJzIwNDgnCisrICAgIGZv cndhcmQ6ICdGYWxzZScKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcK KysgICAgbnRocmVhZHM6ICcxJworKyAgICBzaGlmdDogJ1RydWUnCisrICAgIHR5cGU6IGNvbXBs ZXgKKysgICAgd2luZG93OiB3aW5kb3cucmVjdGFuZ3VsYXIoMjA0OCkKKysgIHN0YXRlczoKKysg ICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisrICAgIGJ1c19zdHJ1 Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzg4MCwgMjIwLjBdCisrICAgIHJvdGF0aW9u OiAwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBpbXBvcnRfMAorKyAgaWQ6IGltcG9y dAorKyAgcGFyYW1ldGVyczoKKysgICAgYWxpYXM6ICcnCisrICAgIGNvbW1lbnQ6ICcnCisrICAg IGltcG9ydHM6IGltcG9ydCBtYXRoCisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQor KyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNv b3JkaW5hdGU6IFs4LCAyMzZdCisrICAgIHJvdGF0aW9uOiAwCisrICAgIHN0YXRlOiBlbmFibGVk CisrLSBuYW1lOiBucnNjNV9oZGNfZW5jb2Rlcl8wCisrICBpZDogbnJzYzVfaGRjX2VuY29kZXIK KysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAg Yml0cmF0ZTogJzY0MDAwJworKyAgICBjaGFubmVsczogJzInCisrICAgIGNvbW1lbnQ6ICcnCisr ICAgIG1heG91dGJ1ZjogJzAnCisrICAgIG1pbm91dGJ1ZjogJzAnCisrICBzdGF0ZXM6CisrICAg IGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0 dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFs3MjgsIDU2LjBdCisrICAgIHJvdGF0aW9uOiAx ODAKKysgICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6IG5yc2M1X2wxX2ZtX2VuY29kZXJfbXAx XzAKKysgIGlkOiBucnNjNV9sMV9mbV9lbmNvZGVyX21wMQorKyAgcGFyYW1ldGVyczoKKysgICAg YWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBtYXhv dXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgc3RhdGVzOgorKyAgICBidXNfc2lu azogZmFsc2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVzX3N0cnVjdHVyZTogbnVs bAorKyAgICBjb29yZGluYXRlOiBbMjg4LCA4OC4wXQorKyAgICByb3RhdGlvbjogMTgwCisrICAg IHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBucnNjNV9sMl9lbmNvZGVyXzAKKysgIGlkOiBucnNj NV9sMl9lbmNvZGVyCisrICBwYXJhbWV0ZXJzOgorKyAgICBhZmZpbml0eTogJycKKysgICAgYWxp YXM6ICcnCisrICAgIGNvbW1lbnQ6ICcnCisrICAgIGZpcnN0X3Byb2c6ICcwJworKyAgICBtYXhv dXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgICBudW1fcHJvZ3M6ICcxJworKyAg ICBzaXplOiAnMTQ2MTc2JworKyAgc3RhdGVzOgorKyAgICBidXNfc2luazogZmFsc2UKKysgICAg YnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVzX3N0cnVjdHVyZTogbnVsbAorKyAgICBjb29yZGlu YXRlOiBbNTI4LCA2OC4wXQorKyAgICByb3RhdGlvbjogMTgwCisrICAgIHN0YXRlOiBlbmFibGVk CisrLSBuYW1lOiBucnNjNV9wc2RfZW5jb2Rlcl8wCisrICBpZDogbnJzYzVfcHNkX2VuY29kZXIK KysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAg YXJ0aXN0OiBBcnRpc3QKKysgICAgY29tbWVudDogJycKKysgICAgbWF4b3V0YnVmOiAnMCcKKysg ICAgbWlub3V0YnVmOiAnMCcKKysgICAgcHJvZ19udW06ICcwJworKyAgICB0aXRsZTogVGl0bGUK KysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNl CisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzcyOCwgMTMyLjBd CisrICAgIHJvdGF0aW9uOiAxODAKKysgICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6IG5yc2M1 X3Npc19lbmNvZGVyXzAKKysgIGlkOiBucnNjNV9zaXNfZW5jb2RlcgorKyAgcGFyYW1ldGVyczoK KysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAg ICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgICBzaG9ydF9uYW1lOiBB QkNECisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBm YWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFs1MjgsIDE0 OC4wXQorKyAgICByb3RhdGlvbjogMTgwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBy YXRpb25hbF9yZXNhbXBsZXJfeHh4XzEKKysgIGlkOiByYXRpb25hbF9yZXNhbXBsZXJfeHh4Cisr ICBwYXJhbWV0ZXJzOgorKyAgICBhZmZpbml0eTogJycKKysgICAgYWxpYXM6ICcnCisrICAgIGNv bW1lbnQ6ICcnCisrICAgIGRlY2ltOiAnMScKKysgICAgZmJ3OiAnMCcKKysgICAgaW50ZXJwOiAn MicKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysgICAgdGFwczog JycKKysgICAgdHlwZTogY2NjCisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAg ICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3Jk aW5hdGU6IFs0NDAsIDM5Ni4wXQorKyAgICByb3RhdGlvbjogMTgwCisrICAgIHN0YXRlOiBlbmFi bGVkCisrCisrY29ubmVjdGlvbnM6CisrLSBbYmxvY2tzX2FkZF9jb25zdF92eHhfMF8wLCAnMCcs IGJsb2Nrc19mbG9hdF90b191Y2hhcl8wLCAnMCddCisrLSBbYmxvY2tzX2NvbXBsZXhfdG9fZmxv YXRfMCwgJzAnLCBibG9ja3NfaW50ZXJsZWF2ZV8wLCAnMCddCisrLSBbYmxvY2tzX2NvbXBsZXhf dG9fZmxvYXRfMCwgJzEnLCBibG9ja3NfaW50ZXJsZWF2ZV8wLCAnMSddCisrLSBbYmxvY2tzX2Nv bmp1Z2F0ZV9jY18wLCAnMCcsIHJhdGlvbmFsX3Jlc2FtcGxlcl94eHhfMSwgJzAnXQorKy0gW2Js b2Nrc19mbG9hdF90b191Y2hhcl8wLCAnMCcsIGJsb2Nrc19maWxlX3NpbmtfMCwgJzAnXQorKy0g W2Jsb2Nrc19pbnRlcmxlYXZlXzAsICcwJywgYmxvY2tzX2FkZF9jb25zdF92eHhfMF8wLCAnMCdd CisrLSBbYmxvY2tzX2tlZXBfbV9pbl9uXzAsICcwJywgYmxvY2tzX211bHRpcGx5X3h4XzAsICcx J10KKystIFtibG9ja3NfbXVsdGlwbHlfY29uc3Rfdnh4XzAsICcwJywgYmxvY2tzX2NvbXBsZXhf dG9fZmxvYXRfMCwgJzAnXQorKy0gW2Jsb2Nrc19tdWx0aXBseV94eF8wLCAnMCcsIGJsb2Nrc19j b25qdWdhdGVfY2NfMCwgJzAnXQorKy0gW2Jsb2Nrc19yZXBlYXRfMCwgJzAnLCBibG9ja3NfdmVj dG9yX3RvX3N0cmVhbV8wLCAnMCddCisrLSBbYmxvY2tzX3N0cmVhbV90b192ZWN0b3JfMCwgJzAn LCBmZnRfdnh4XzAsICcwJ10KKystIFtibG9ja3NfdmVjdG9yX3NvdXJjZV94XzAsICcwJywgYmxv Y2tzX211bHRpcGx5X3h4XzAsICcwJ10KKystIFtibG9ja3NfdmVjdG9yX3RvX3N0cmVhbV8wLCAn MCcsIGJsb2Nrc19rZWVwX21faW5fbl8wLCAnMCddCisrLSBbYmxvY2tzX3ZlY3Rvcl90b19zdHJl YW1fMSwgJzAnLCBkaWdpdGFsX2NodW5rc190b19zeW1ib2xzX3h4XzAsICcwJ10KKystIFtibG9j a3Nfd2F2ZmlsZV9zb3VyY2VfMCwgJzAnLCBucnNjNV9oZGNfZW5jb2Rlcl8wLCAnMCddCisrLSBb YmxvY2tzX3dhdmZpbGVfc291cmNlXzAsICcxJywgbnJzYzVfaGRjX2VuY29kZXJfMCwgJzEnXQor Ky0gW2RpZ2l0YWxfY2h1bmtzX3RvX3N5bWJvbHNfeHhfMCwgJzAnLCBibG9ja3Nfc3RyZWFtX3Rv X3ZlY3Rvcl8wLCAnMCddCisrLSBbZmZ0X3Z4eF8wLCAnMCcsIGJsb2Nrc19yZXBlYXRfMCwgJzAn XQorKy0gW25yc2M1X2hkY19lbmNvZGVyXzAsICcwJywgbnJzYzVfbDJfZW5jb2Rlcl8wLCAnMCdd CisrLSBbbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDFfMCwgJzAnLCBibG9ja3NfdmVjdG9yX3RvX3N0 cmVhbV8xLCAnMCddCisrLSBbbnJzYzVfbDJfZW5jb2Rlcl8wLCAnMCcsIG5yc2M1X2wxX2ZtX2Vu Y29kZXJfbXAxXzAsICcwJ10KKystIFtucnNjNV9wc2RfZW5jb2Rlcl8wLCAnMCcsIG5yc2M1X2wy X2VuY29kZXJfMCwgJzEnXQorKy0gW25yc2M1X3Npc19lbmNvZGVyXzAsICcwJywgbnJzYzVfbDFf Zm1fZW5jb2Rlcl9tcDFfMCwgJzEnXQorKy0gW3JhdGlvbmFsX3Jlc2FtcGxlcl94eHhfMSwgJzAn LCBibG9ja3NfbXVsdGlwbHlfY29uc3Rfdnh4XzAsICcwJ10KKysKKyttZXRhZGF0YToKKysgIGZp bGVfZm9ybWF0OiAxCitkaWZmIC0tZ2l0IGEvYXBwcy9oZF90eF9ydGxfZmlsZS5weSBiL2FwcHMv aGRfdHhfcnRsX2ZpbGUucHkKK2luZGV4IDQxZDE5YjEuLjc3ZTdlYjAgMTAwNzU1CistLS0gYXBw cy9oZF90eF9ydGxfZmlsZS5weQorKysrIGFwcHMvaGRfdHhfcnRsX2ZpbGUucHkKK0BAIC0xLDI1 ICsxLDI4IEBACistIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMgorKyMhL3Vzci9iaW4vZW52IHB5dGhv bjMKKyAjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrCisrIworKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0zLjAKKysjCisgIyBHTlUgUmFkaW8gUHl0aG9uIEZsb3cgR3JhcGgKKyAjIFRpdGxl OiBIZCBUeCBSdGwgRmlsZQorLSMgR2VuZXJhdGVkOiBTdW4gT2N0IDE1IDAwOjE0OjEzIDIwMTcK Ky0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyMg R05VIFJhZGlvIHZlcnNpb246IDMuOC4wLjAtcmMyCisgCisgZnJvbSBnbnVyYWRpbyBpbXBvcnQg YmxvY2tzCisgZnJvbSBnbnVyYWRpbyBpbXBvcnQgZGlnaXRhbAorLWZyb20gZ251cmFkaW8gaW1w b3J0IGVuZ19ub3RhdGlvbgorIGZyb20gZ251cmFkaW8gaW1wb3J0IGZmdAorLWZyb20gZ251cmFk aW8gaW1wb3J0IGZpbHRlcgorLWZyb20gZ251cmFkaW8gaW1wb3J0IGdyCistZnJvbSBnbnVyYWRp by5lbmdfb3B0aW9uIGltcG9ydCBlbmdfb3B0aW9uCisgZnJvbSBnbnVyYWRpby5mZnQgaW1wb3J0 IHdpbmRvdworK2Zyb20gZ251cmFkaW8gaW1wb3J0IGZpbHRlcgorIGZyb20gZ251cmFkaW8uZmls dGVyIGltcG9ydCBmaXJkZXMKKy1mcm9tIG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIKKytm cm9tIGdudXJhZGlvIGltcG9ydCBncgorK2ltcG9ydCBzeXMKKytpbXBvcnQgc2lnbmFsCisrZnJv bSBhcmdwYXJzZSBpbXBvcnQgQXJndW1lbnRQYXJzZXIKKytmcm9tIGdudXJhZGlvLmVuZ19hcmcg aW1wb3J0IGVuZ19mbG9hdCwgaW50eAorK2Zyb20gZ251cmFkaW8gaW1wb3J0IGVuZ19ub3RhdGlv bgorIGltcG9ydCBtYXRoCisgaW1wb3J0IG5yc2M1CisgCistCisgY2xhc3MgaGRfdHhfcnRsX2Zp bGUoZ3IudG9wX2Jsb2NrKToKKyAKKyAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorQEAgLTMyLDIz ICszNSwyMiBAQCBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICAgICAgIGludGVycG9s YXRpb249MiwKKyAgICAgICAgICAgICAgICAgZGVjaW1hdGlvbj0xLAorICAgICAgICAgICAgICAg ICB0YXBzPU5vbmUsCistICAgICAgICAgICAgICAgIGZyYWN0aW9uYWxfYnc9Tm9uZSwKKy0gICAg ICAgICkKKysgICAgICAgICAgICAgICAgZnJhY3Rpb25hbF9idz1Ob25lKQorICAgICAgICAgc2Vs Zi5ucnNjNV9zaXNfZW5jb2Rlcl8wID0gbnJzYzUuc2lzX2VuY29kZXIoJ0FCQ0QnKQorICAgICAg ICAgc2VsZi5ucnNjNV9wc2RfZW5jb2Rlcl8wID0gbnJzYzUucHNkX2VuY29kZXIoMCwgJ1RpdGxl JywgJ0FydGlzdCcpCisgICAgICAgICBzZWxmLm5yc2M1X2wyX2VuY29kZXJfMCA9IG5yc2M1Lmwy X2VuY29kZXIoMSwgMCwgMTQ2MTc2KQorICAgICAgICAgc2VsZi5ucnNjNV9sMV9mbV9lbmNvZGVy X21wMV8wID0gbnJzYzUubDFfZm1fZW5jb2RlcigxKQorICAgICAgICAgc2VsZi5ucnNjNV9oZGNf ZW5jb2Rlcl8wID0gbnJzYzUuaGRjX2VuY29kZXIoMiwgNjQwMDApCistICAgICAgICBzZWxmLmZm dF92eHhfMCA9IGZmdC5mZnRfdmNjKDIwNDgsIEZhbHNlLCAod2luZG93LnJlY3Rhbmd1bGFyKDIw NDgpKSwgVHJ1ZSwgMSkKKysgICAgICAgIHNlbGYuZmZ0X3Z4eF8wID0gZmZ0LmZmdF92Y2MoMjA0 OCwgRmFsc2UsIHdpbmRvdy5yZWN0YW5ndWxhcigyMDQ4KSwgVHJ1ZSwgMSkKKyAgICAgICAgIHNl bGYuZGlnaXRhbF9jaHVua3NfdG9fc3ltYm9sc194eF8wID0gZGlnaXRhbC5jaHVua3NfdG9fc3lt Ym9sc19iYygoLTEtMWosIC0xKzFqLCAxLTFqLCAxKzFqLCAwKSwgMSkKKy0gICAgICAgIHNlbGYu YmxvY2tzX3dhdmZpbGVfc291cmNlXzAgPSBibG9ja3Mud2F2ZmlsZV9zb3VyY2UoJ3NhbXBsZS53 YXYnLCBGYWxzZSkKKysgICAgICAgIHNlbGYuYmxvY2tzX3dhdmZpbGVfc291cmNlXzAgPSBibG9j a3Mud2F2ZmlsZV9zb3VyY2UoJ3NhbXBsZS53YXYnLCBUcnVlKQorICAgICAgICAgc2VsZi5ibG9j a3NfdmVjdG9yX3RvX3N0cmVhbV8xID0gYmxvY2tzLnZlY3Rvcl90b19zdHJlYW0oZ3Iuc2l6ZW9m X2NoYXIqMSwgMTA0ODU3NikKKyAgICAgICAgIHNlbGYuYmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1f MCA9IGJsb2Nrcy52ZWN0b3JfdG9fc3RyZWFtKGdyLnNpemVvZl9ncl9jb21wbGV4KjEsIDIwNDgp CisgICAgICAgICBzZWxmLmJsb2Nrc192ZWN0b3Jfc291cmNlX3hfMCA9IGJsb2Nrcy52ZWN0b3Jf c291cmNlX2MoW21hdGguc2luKG1hdGgucGkgLyAyICogaSAvIDExMikgZm9yIGkgaW4gcmFuZ2Uo MTEyKV0gKyBbMV0gKiAoMjA0OC0xMTIpICsgW21hdGguY29zKG1hdGgucGkgLyAyICogaSAvIDEx MikgZm9yIGkgaW4gcmFuZ2UoMTEyKV0sIFRydWUsIDEsIFtdKQorICAgICAgICAgc2VsZi5ibG9j a3Nfc3RyZWFtX3RvX3ZlY3Rvcl8wID0gYmxvY2tzLnN0cmVhbV90b192ZWN0b3IoZ3Iuc2l6ZW9m X2dyX2NvbXBsZXgqMSwgMjA0OCkKKyAgICAgICAgIHNlbGYuYmxvY2tzX3JlcGVhdF8wID0gYmxv Y2tzLnJlcGVhdChnci5zaXplb2ZfZ3JfY29tcGxleCoyMDQ4LCAyKQorICAgICAgICAgc2VsZi5i bG9ja3NfbXVsdGlwbHlfeHhfMCA9IGJsb2Nrcy5tdWx0aXBseV92Y2MoMSkKKy0gICAgICAgIHNl bGYuYmxvY2tzX211bHRpcGx5X2NvbnN0X3Z4eF8wID0gYmxvY2tzLm11bHRpcGx5X2NvbnN0X3Zj YygoMC41LCApKQorKyAgICAgICAgc2VsZi5ibG9ja3NfbXVsdGlwbHlfY29uc3Rfdnh4XzAgPSBi bG9ja3MubXVsdGlwbHlfY29uc3RfY2MoMC41KQorICAgICAgICAgc2VsZi5ibG9ja3Nfa2VlcF9t X2luX25fMCA9IGJsb2Nrcy5rZWVwX21faW5fbihnci5zaXplb2ZfZ3JfY29tcGxleCwgMjE2MCwg NDA5NiwgMCkKKyAgICAgICAgIHNlbGYuYmxvY2tzX2ludGVybGVhdmVfMCA9IGJsb2Nrcy5pbnRl cmxlYXZlKGdyLnNpemVvZl9mbG9hdCoxLCAxKQorICAgICAgICAgc2VsZi5ibG9ja3NfZmxvYXRf dG9fdWNoYXJfMCA9IGJsb2Nrcy5mbG9hdF90b191Y2hhcigpCitAQCAtNTYsNyArNTgsOSBAQCBk ZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICBzZWxmLmJsb2Nrc19maWxlX3NpbmtfMC5zZXRf dW5idWZmZXJlZChGYWxzZSkKKyAgICAgICAgIHNlbGYuYmxvY2tzX2Nvbmp1Z2F0ZV9jY18wID0g YmxvY2tzLmNvbmp1Z2F0ZV9jYygpCisgICAgICAgICBzZWxmLmJsb2Nrc19jb21wbGV4X3RvX2Zs b2F0XzAgPSBibG9ja3MuY29tcGxleF90b19mbG9hdCgxKQorLSAgICAgICAgc2VsZi5ibG9ja3Nf YWRkX2NvbnN0X3Z4eF8wXzAgPSBibG9ja3MuYWRkX2NvbnN0X3ZmZigoMTI3LjUsICkpCisrICAg ICAgICBzZWxmLmJsb2Nrc19hZGRfY29uc3Rfdnh4XzBfMCA9IGJsb2Nrcy5hZGRfY29uc3RfZmYo MTI3LjUpCisrCisrCisgCisgICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworICAgICAgICAgIyBDb25uZWN0aW9ucworQEAgLTg3LDEwICs5 MSwyNCBAQCBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICBzZWxmLmNvbm5lY3QoKHNlbGYu cmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8xLCAwKSwgKHNlbGYuYmxvY2tzX211bHRpcGx5X2NvbnN0 X3Z4eF8wLCAwKSkKKyAKKyAKKy1kZWYgbWFpbih0b3BfYmxvY2tfY2xzPWhkX3R4X3J0bF9maWxl LCBvcHRpb25zPU5vbmUpOgorIAorK2RlZiBtYWluKHRvcF9ibG9ja19jbHM9aGRfdHhfcnRsX2Zp bGUsIG9wdGlvbnM9Tm9uZSk6CisgICAgIHRiID0gdG9wX2Jsb2NrX2NscygpCisrCisrICAgIGRl ZiBzaWdfaGFuZGxlcihzaWc9Tm9uZSwgZnJhbWU9Tm9uZSk6CisrICAgICAgICB0Yi5zdG9wKCkK KysgICAgICAgIHRiLndhaXQoKQorKyAgICAgICAgc3lzLmV4aXQoMCkKKysKKysgICAgc2lnbmFs LnNpZ25hbChzaWduYWwuU0lHSU5ULCBzaWdfaGFuZGxlcikKKysgICAgc2lnbmFsLnNpZ25hbChz aWduYWwuU0lHVEVSTSwgc2lnX2hhbmRsZXIpCisrCisgICAgIHRiLnN0YXJ0KCkKKysgICAgdHJ5 OgorKyAgICAgICAgaW5wdXQoJ1ByZXNzIEVudGVyIHRvIHF1aXQ6ICcpCisrICAgIGV4Y2VwdCBF T0ZFcnJvcjoKKysgICAgICAgIHBhc3MKKysgICAgdGIuc3RvcCgpCisgICAgIHRiLndhaXQoKQor IAorIAorZGlmZiAtLWdpdCBhL2FwcHMvaGRfdHhfdXNycC5ncmMgYi9hcHBzL2hkX3R4X3VzcnAu Z3JjCitpbmRleCBmYzZmYzRlLi44ZTM0MzY4IDEwMDY0NAorLS0tIGFwcHMvaGRfdHhfdXNycC5n cmMKKysrKyBhcHBzL2hkX3R4X3VzcnAuZ3JjCitAQCAtMSwyNDg3ICsxLDg0NiBAQAorLTw/eG1s IHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04Jz8+CistPD9ncmMgZm9ybWF0PScxJyBjcmVh dGVkPSczLjcuMTInPz4KKy08Zmxvd19ncmFwaD4KKy0gIDx0aW1lc3RhbXA+RnJpIFNlcCAxNiAw MTozNTo1MyAyMDE2PC90aW1lc3RhbXA+CistICA8YmxvY2s+CistICAgIDxrZXk+b3B0aW9uczwv a2V5PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hdXRob3I8L2tleT4KKy0gICAgICA8dmFs dWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+d2lu ZG93X3NpemU8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y2F0ZWdvcnk8L2tleT4KKy0gICAgICA8dmFsdWU+W0dS QyBIaWVyIEJsb2Nrc108L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmRlc2NyaXB0aW9uPC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2 YWx1ZT4oOCwgMTIpPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nZW5lcmF0ZV9vcHRpb25zPC9rZXk+Cist ICAgICAgPHZhbHVlPm5vX2d1aTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmhpZXJfYmxvY2tfc3JjX3BhdGg8L2tleT4KKy0gICAgICA8dmFsdWU+Ljo8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5 PgorLSAgICAgIDx2YWx1ZT5oZF90eF91c3JwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+bWF4X25vdXRzPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5xdF9xc3NfdGhl bWU8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+cmVhbHRpbWVfc2NoZWR1bGluZzwva2V5PgorLSAgICAgIDx2YWx1 ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5ydW5f Y29tbWFuZDwva2V5PgorLSAgICAgIDx2YWx1ZT57cHl0aG9ufSAtdSB7ZmlsZW5hbWV9PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cnVuX29wdGlvbnM8 L2tleT4KKy0gICAgICA8dmFsdWU+cHJvbXB0PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+cnVuPC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50aHJlYWRfc2FmZV9z ZXR0ZXJzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PnRpdGxlPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PnZhcmlh YmxlPC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAg ICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAg PHZhbHVlPig4LCAxNjQpPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1 ZT5mcmVxPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ dmFsdWU8L2tleT4KKy0gICAgICA8dmFsdWU+OTUuN2U2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+dmFyaWFibGU8L2tleT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5 PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDgsIDEwMCk8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRp b248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPnNhbXBfcmF0ZTwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnZhbHVlPC9rZXk+ CistICAgICAgPHZhbHVlPjIwMDAwMDA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9j az4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5hbmFsb2dfc2lnX3NvdXJjZV94PC9rZXk+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmFtcDwva2V5PgorLSAgICAgIDx2YWx1ZT4wLjE8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZh bHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9l bmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5mcmVxPC9rZXk+CistICAgICAgPHZhbHVlPjEwMDA8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fY29vcmRp bmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oODk2LCA1ODQpPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAgICAgPHZh bHVlPjE4MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmlkPC9rZXk+CistICAgICAgPHZhbHVlPmFuYWxvZ19zaWdfc291cmNlX3hfMDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5vZmZzZXQ8L2tleT4KKy0gICAgICA8 dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+ZmxvYXQ8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5zYW1wX3JhdGU8L2tleT4KKy0gICAgICA8dmFsdWU+ NTAwMDA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT53 YXZlZm9ybTwva2V5PgorLSAgICAgIDx2YWx1ZT5hbmFsb2cuR1JfQ09TX1dBVkU8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5hbmFsb2df d2ZtX3R4PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmF1ZGlvX3JhdGU8L2tleT4K Ky0gICAgICA8dmFsdWU+NTAwMDA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRy dWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fY29v cmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oNjQwLCA1ODQpPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAgICAg PHZhbHVlPjE4MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPmFuYWxvZ193Zm1fdHhfMDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heF9kZXY8L2tleT4KKy0gICAg ICA8dmFsdWU+NzVlMzwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAg PHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5maDwva2V5PgorLSAgICAgIDx2YWx1ZT4tMS4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cXVhZF9yYXRlPC9rZXk+CistICAgICAgPHZhbHVlPjIw MDAwMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnRh dTwva2V5PgorLSAgICAgIDx2YWx1ZT43NWUtNjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8 L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc19hZGRfeHg8L2tleT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2 YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDQyNCwgNDcyKTwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX2FkZF94eF8wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAg ICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5taW5vdXRidWY8L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5Pm51bV9pbnB1dHM8L2tleT4KKy0gICAgICA8dmFsdWU+MjwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnZsZW48L2tleT4KKy0gICAgICA8dmFs dWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAg ICA8a2V5PmJsb2Nrc19jb25qdWdhdGVfY2M8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwv a2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tl eT4KKy0gICAgICA8dmFsdWU+KDYyNCwgMzc2KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4xODA8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5 PgorLSAgICAgIDx2YWx1ZT5ibG9ja3NfY29uanVnYXRlX2NjXzA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8 dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX2tlZXBfbV9pbl9uPC9r ZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVl PjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1l bnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4K Ky0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig5NTIsIDM0MCk8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRp b248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX2tlZXBf bV9pbl9uXzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5tPC9rZXk+CistICAgICAgPHZhbHVlPjIxNjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1 Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+bjwva2V5PgorLSAgICAgIDx2YWx1ZT40MDk2PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAgICAg IDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+b2Zmc2V0PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5ibG9ja3NfbXVsdGlwbHlf Y29uc3Rfdnh4PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+Cist ICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29uc3Q8L2tleT4KKy0gICAgICA8dmFsdWU+ MC4wMDE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5h ZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVl PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3Jk aW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDI0OCwgNDY4KTwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2 YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX211bHRpcGx5X2NvbnN0X3Z4eF8wPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5Pgor LSAgICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5taW5vdXRidWY8L2tleT4K Ky0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PnZsZW48L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc19tdWx0aXBseV9j b25zdF92eHg8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0g ICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb25zdDwva2V5PgorLSAgICAgIDx2YWx1ZT4w LjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZp bml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5h dGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDEwNCwgNjEyKTwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1 ZT4xODA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5p ZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ibG9ja3NfbXVsdGlwbHlfY29uc3Rfdnh4XzE8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50eXBlPC9rZXk+Cist ICAgICAgPHZhbHVlPmNvbXBsZXg8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+dmxlbjwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX211bHRpcGx5X3h4 PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZh bHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNv bW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tl eT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig4MTYsIDM2MCk8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRp b248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX211bHRp cGx5X3h4XzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT50eXBlPC9rZXk+CistICAgICAgPHZhbHVlPmNvbXBsZXg8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFs dWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1p bm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bnVtX2lucHV0czwva2V5PgorLSAgICAgIDx2YWx1ZT4y PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmxlbjwv a2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+ CistICA8YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX3JlcGVhdDwva2V5PgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAg PHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRy dWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fY29v cmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oMTEwNCwgMjQ0KTwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAg IDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+YmxvY2tzX3JlcGVhdF8wPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aW50ZXJwPC9rZXk+CistICAgICAg PHZhbHVlPjI8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1 ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dHlw ZTwva2V5PgorLSAgICAgIDx2YWx1ZT5jb21wbGV4PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmxlbjwva2V5PgorLSAgICAgIDx2YWx1ZT4yMDQ4PC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+ YmxvY2tzX3N0cmVhbV90b192ZWN0b3I8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5 PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4K Ky0gICAgICA8dmFsdWU+KDY5NiwgMjUyKTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0g ICAgICA8dmFsdWU+YmxvY2tzX3N0cmVhbV90b192ZWN0b3JfMDwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+ Y29tcGxleDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5udW1f aXRlbXM8L2tleT4KKy0gICAgICA8dmFsdWU+MjA0ODwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnZsZW48L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJs b2Nrc192ZWN0b3Jfc291cmNlX3g8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxp YXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAg ICA8dmFsdWU+KDk1MiwgNDI4KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4xODA8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAg IDx2YWx1ZT5ibG9ja3NfdmVjdG9yX3NvdXJjZV94XzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+ MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1pbm91 dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5jb21wbGV4PC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+cmVwZWF0PC9r ZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT50YWdzPC9rZXk+CistICAgICAgPHZhbHVlPltdPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dmxlbjwva2V5PgorLSAgICAg IDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+dmVjdG9yPC9rZXk+CistICAgICAgPHZhbHVlPlttYXRoLnNpbihtYXRoLnBpIC8gMiAqIGkg LyAxMTIpIGZvciBpIGluIHJhbmdlKDExMildICsgWzFdICogKDIwNDgtMTEyKSArIFttYXRoLmNv cyhtYXRoLnBpIC8gMiAqIGkgLyAxMTIpIGZvciBpIGluIHJhbmdlKDExMildPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+YmxvY2tzX3Zl Y3Rvcl90b19zdHJlYW08L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tl eT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAg IDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8 dmFsdWU+KDExMDQsIDM1Nik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8 dmFsdWU+YmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1fMDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+Y29tcGxl eDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91 dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5udW1faXRlbXM8 L2tleT4KKy0gICAgICA8dmFsdWU+MjA0ODwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PnZsZW48L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmJsb2Nrc192 ZWN0b3JfdG9fc3RyZWFtPC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9r ZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAg ICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAg PHZhbHVlPigyODgsIDI1Mik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZh bHVlPmJsb2Nrc192ZWN0b3JfdG9fc3RyZWFtXzE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT50eXBlPC9rZXk+CistICAgICAgPHZhbHVlPmJ5dGU8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8 L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bnVtX2l0ZW1zPC9rZXk+ CistICAgICAgPHZhbHVlPjEwNDg1NzY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT52bGVuPC9rZXk+CistICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5ibG9ja3Nfd2F2 ZmlsZV9zb3VyY2U8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2 YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5f ZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZmlsZTwva2V5PgorLSAgICAgIDx2YWx1ZT5zYW1w bGUud2F2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDMyOCwgMTYpPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAg ICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5ibG9ja3Nfd2F2ZmlsZV9zb3VyY2VfMDwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwv a2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5uY2hhbjwva2V5PgorLSAg ICAgIDx2YWx1ZT4yPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+cmVwZWF0PC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5kaWdpdGFsX2NodW5rc190 b19zeW1ib2xzX3h4PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+ CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8 dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ ZGltZW5zaW9uPC9rZXk+CistICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5U cnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nv b3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDQ3MiwgMjQ0KTwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAg IDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+ZGlnaXRhbF9jaHVua3NfdG9fc3ltYm9sc194eF8w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aW5fdHlw ZTwva2V5PgorLSAgICAgIDx2YWx1ZT5ieXRlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5taW5vdXRidWY8 L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pm51bV9wb3J0czwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+b3V0X3R5cGU8L2tleT4K Ky0gICAgICA8dmFsdWU+Y29tcGxleDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5PnN5bWJvbF90YWJsZTwva2V5PgorLSAgICAgIDx2YWx1ZT4tMS0xaiwg LTErMWosIDEtMWosIDErMWosIDA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4K Ky0gIDxibG9jaz4KKy0gICAgPGtleT5mZnRfdnh4PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+ PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5p dHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZmdF9zaXplPC9r ZXk+CistICAgICAgPHZhbHVlPjIwNDg8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5mb3J3YXJkPC9rZXk+CistICAgICAgPHZhbHVlPkZhbHNlPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8 L2tleT4KKy0gICAgICA8dmFsdWU+KDg4MCwgMjI0KTwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tl eT4KKy0gICAgICA8dmFsdWU+ZmZ0X3Z4eF8wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5jb21wbGV4PC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVm PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5taW5vdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm50aHJlYWRzPC9rZXk+ CistICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5zaGlmdDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+d2luZG93PC9rZXk+CistICAgICAg PHZhbHVlPndpbmRvdy5yZWN0YW5ndWxhcigyMDQ4KTwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICA8L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5PmltcG9ydDwva2V5PgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5hbGlhczwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50PC9rZXk+CistICAg ICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAg IDx2YWx1ZT4oOCwgMjM2KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFs dWU+aW1wb3J0XzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5pbXBvcnQ8L2tleT4KKy0gICAgICA8dmFsdWU+aW1wb3J0IG1hdGg8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5sb3dfcGFzc19m aWx0ZXI8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YmV0YTwva2V5PgorLSAgICAg IDx2YWx1ZT42Ljc2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0 eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5jdXRvZmZfZnJlcTwva2V5PgorLSAgICAgIDx2YWx1ZT44MDAwMDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmRlY2ltPC9r ZXk+CistICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAg ICAgIDx2YWx1ZT5maXJfZmlsdGVyX2NjZjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPigyNjQs IDU2OCk8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5f cm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2Fpbjwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4K Ky0gICAgICA8dmFsdWU+bG93X3Bhc3NfZmlsdGVyXzA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgor LSAgICA8cGFyYW0+CistICAgICAgPGtleT5pbnRlcnA8L2tleT4KKy0gICAgICA8dmFsdWU+MTwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1 Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5zYW1wX3JhdGU8L2tl eT4KKy0gICAgICA8dmFsdWU+c2FtcF9yYXRlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+d2lkdGg8L2tleT4KKy0gICAgICA8dmFsdWU+MjAwMDA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT53aW48L2tleT4K Ky0gICAgICA8dmFsdWU+ZmlyZGVzLldJTl9IQU1NSU5HPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+bnJzYzVfaGRjX2VuY29kZXI8L2tl eT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Yml0cmF0ZTwva2V5PgorLSAgICAgIDx2YWx1 ZT42NDAwMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmNoYW5uZWxzPC9rZXk+CistICAgICAgPHZhbHVlPjI8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jb21tZW50PC9r ZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAg ICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oNTEyLCAxNik8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tl eT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPm5yc2M1X2hkY19lbmNvZGVyXzA8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRi dWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+bnJz YzVfbDFfZm1fZW5jb2Rlcl9tcDE8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxp YXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hZmZpbml0eTwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAgIDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0g ICAgICA8dmFsdWU+KDg4OCwgNDgpPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+X3JvdGF0aW9uPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAg IDx2YWx1ZT5ucnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5taW5v dXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8 L2Jsb2NrPgorLSAgPGJsb2NrPgorLSAgICA8a2V5Pm5yc2M1X2wyX2VuY29kZXI8L2tleT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWxpYXM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y29tbWVudDwva2V5 PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5hZmZpbml0eTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fZW5hYmxlZDwva2V5PgorLSAgICAg IDx2YWx1ZT5UcnVlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+Zmlyc3RfcHJvZzwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2l6ZTwva2V5PgorLSAgICAgIDx2YWx1 ZT4xNDYxNzY8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5fY29vcmRpbmF0ZTwva2V5PgorLSAgICAgIDx2YWx1ZT4oNjk2LCAzMik8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPm5yc2M1X2wyX2VuY29kZXJfMDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1heG91dGJ1Zjwva2V5 PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5udW1fcHJvZ3M8L2tleT4KKy0g ICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICA8L2Jsb2NrPgorLSAgPGJs b2NrPgorLSAgICA8a2V5Pm5yc2M1X3Npc19lbmNvZGVyPC9rZXk+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFs dWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZm aW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGlu YXRlPC9rZXk+CistICAgICAgPHZhbHVlPig2ODgsIDEwOCk8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFs dWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pmlk PC9rZXk+CistICAgICAgPHZhbHVlPm5yc2M1X3Npc19lbmNvZGVyXzA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5tYXhvdXRidWY8L2tleT4KKy0gICAg ICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pm1pbm91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2hvcnRfbmFtZTwva2V5PgorLSAgICAgIDx2 YWx1ZT5BQkNEPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+ CistICAgIDxrZXk+bnJzYzVfcHNkX2VuY29kZXI8L2tleT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+YXJ0aXN0PC9rZXk+CistICAgICAgPHZhbHVlPkFydGlzdDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZh bHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNv bW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tl eT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig0ODgsIDky KTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3Rh dGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+bnJzYzVfcHNkX2Vu Y29kZXJfMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pm1heG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5wcm9n X251bTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+dGl0bGU8L2tleT4KKy0gICAgICA8dmFsdWU+VGl0bGU8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT5y YXRpb25hbF9yZXNhbXBsZXJfeHh4PC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFs aWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+ZGVjaW08L2tleT4KKy0gICAgICA8dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9lbmFibGVkPC9rZXk+CistICAgICAgPHZh bHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5mYnc8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig0 NDgsIDU5Mik8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5fcm90YXRpb248L2tleT4KKy0gICAgICA8dmFsdWU+MTgwPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+aWQ8L2tleT4KKy0gICAgICA8dmFsdWU+cmF0 aW9uYWxfcmVzYW1wbGVyX3h4eF8wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+aW50ZXJwPC9rZXk+CistICAgICAgPHZhbHVlPnNhbXBfcmF0ZSAvIDIw MDAwMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm1h eG91dGJ1Zjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWlub3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT50YXBzPC9r ZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAgICA8dmFsdWU+Y2NjPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gIDwvYmxvY2s+CistICA8YmxvY2s+CistICAgIDxrZXk+cmF0aW9uYWxfcmVz YW1wbGVyX3h4eDwva2V5PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbGlhczwva2V5Pgor LSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5jb21tZW50PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFmZmluaXR5PC9rZXk+CistICAgICAgPHZh bHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmRl Y2ltPC9rZXk+CistICAgICAgPHZhbHVlPjQ5PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZidzwva2V5 PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8L2tleT4KKy0gICAgICA8dmFsdWU+KDQzMiwgMzUyKTwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlv bjwva2V5PgorLSAgICAgIDx2YWx1ZT4xODA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5pZDwva2V5PgorLSAgICAgIDx2YWx1ZT5yYXRpb25hbF9yZXNh bXBsZXJfeHh4XzE8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5pbnRlcnA8L2tleT4KKy0gICAgICA8dmFsdWU+MTI1PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAgPHZh bHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5t aW5vdXRidWY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnRhcHM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5Pgor LSAgICAgIDx2YWx1ZT5jY2M8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0g IDxibG9jaz4KKy0gICAgPGtleT5yYXRpb25hbF9yZXNhbXBsZXJfeHh4PC9rZXk+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0g ICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZGVjaW08L2tleT4KKy0gICAgICA8dmFsdWU+ MjQzPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Vu YWJsZWQ8L2tleT4KKy0gICAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmZidzwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2Nvb3JkaW5hdGU8 L2tleT4KKy0gICAgICA8dmFsdWU+KDI0MCwgMzUyKTwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pl9yb3RhdGlvbjwva2V5PgorLSAgICAgIDx2YWx1ZT4x ODA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pZDwv a2V5PgorLSAgICAgIDx2YWx1ZT5yYXRpb25hbF9yZXNhbXBsZXJfeHh4XzI8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5pbnRlcnA8L2tleT4KKy0gICAg ICA8dmFsdWU+MjU2PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAg IDxrZXk+bWF4b3V0YnVmPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5taW5vdXRidWY8L2tleT4KKy0gICAgICA8 dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PnRhcHM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+dHlwZTwva2V5PgorLSAgICAgIDx2YWx1ZT5jY2M8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgPC9ibG9jaz4KKy0gIDxibG9jaz4KKy0gICAgPGtleT51aGRf dXNycF9zaW5rPC9rZXk+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFsaWFzPC9rZXk+Cist ICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmFudDA8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YncwPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jZW50ZXJfZnJl cTA8L2tleT4KKy0gICAgICA8dmFsdWU+ZnJlcTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pm5vcm1fZ2FpbjA8L2tleT4KKy0gICAgICA8dmFsdWU+RmFs c2U8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWlu MDwva2V5PgorLSAgICAgIDx2YWx1ZT43MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmFudDEwPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3MTA8L2tleT4KKy0gICAg ICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmNlbnRlcl9mcmVxMTA8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwv cGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm5vcm1fZ2FpbjEwPC9rZXk+CistICAg ICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+Z2FpbjEwPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbnQxMTwva2V5PgorLSAgICAgIDx2YWx1 ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzEx PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5jZW50ZXJfZnJlcTExPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5ub3JtX2dhaW4x MTwva2V5PgorLSAgICAgIDx2YWx1ZT5GYWxzZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4xMTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50MTI8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+YncxMjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y2VudGVyX2ZyZXExMjwva2V5PgorLSAgICAg IDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+bm9ybV9nYWluMTI8L2tleT4KKy0gICAgICA8dmFsdWU+RmFsc2U8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWluMTI8L2tleT4KKy0gICAgICA8 dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 PmFudDEzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3MTM8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNlbnRlcl9mcmVxMTM8 L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJh bT4KKy0gICAgICA8a2V5Pm5vcm1fZ2FpbjEzPC9rZXk+CistICAgICAgPHZhbHVlPkZhbHNlPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjEzPC9r ZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5hbnQxNDwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzE0PC9rZXk+CistICAgICAgPHZh bHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5j ZW50ZXJfZnJlcTE0PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFt PgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5ub3JtX2dhaW4xNDwva2V5PgorLSAgICAgIDx2 YWx1ZT5GYWxzZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmdhaW4xNDwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50MTU8L2tleT4KKy0gICAgICA8dmFsdWU+PC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YncxNTwva2V5 PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+Y2VudGVyX2ZyZXExNTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bm9ybV9nYWluMTU8L2tl eT4KKy0gICAgICA8dmFsdWU+RmFsc2U8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5nYWluMTU8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDE2PC9rZXk+CistICAg ICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmJ3MTY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNlbnRlcl9mcmVxMTY8L2tleT4KKy0gICAgICA8dmFs dWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm5v cm1fZ2FpbjE2PC9rZXk+CistICAgICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjE2PC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbnQx Nzwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFy YW0+CistICAgICAgPGtleT5idzE3PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jZW50ZXJfZnJlcTE3PC9rZXk+ CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5ub3JtX2dhaW4xNzwva2V5PgorLSAgICAgIDx2YWx1ZT5GYWxzZTwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4xNzwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+YW50MTg8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YncxODwva2V5PgorLSAgICAgIDx2YWx1ZT4w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y2VudGVy X2ZyZXExODwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0g ICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bm9ybV9nYWluMTg8L2tleT4KKy0gICAgICA8dmFsdWU+ RmFsc2U8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5n YWluMTg8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDE5PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3MTk8L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmNlbnRlcl9mcmVxMTk8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm5vcm1fZ2FpbjE5PC9rZXk+Cist ICAgICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+Z2FpbjE5PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbnQxPC9rZXk+CistICAgICAgPHZh bHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3 MTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+Y2VudGVyX2ZyZXExPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5ub3JtX2dhaW4x PC9rZXk+CistICAgICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjE8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDIwPC9rZXk+Cist ICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmJ3MjA8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNlbnRlcl9mcmVxMjA8L2tleT4KKy0gICAgICA8 dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pm5vcm1fZ2FpbjIwPC9rZXk+CistICAgICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjIwPC9rZXk+CistICAgICAgPHZh bHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5h bnQyMTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5idzIxPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jZW50ZXJfZnJlcTIxPC9r ZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5ub3JtX2dhaW4yMTwva2V5PgorLSAgICAgIDx2YWx1ZT5GYWxzZTwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4yMTwva2V5 PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgor LSAgICAgIDxrZXk+YW50MjI8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YncyMjwva2V5PgorLSAgICAgIDx2YWx1 ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y2Vu dGVyX2ZyZXEyMjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bm9ybV9nYWluMjI8L2tleT4KKy0gICAgICA8dmFs dWU+RmFsc2U8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5nYWluMjI8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDIzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3MjM8L2tleT4K Ky0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmNlbnRlcl9mcmVxMjM8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm5vcm1fZ2FpbjIzPC9rZXk+ CistICAgICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+Z2FpbjIzPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbnQyNDwva2V5PgorLSAgICAg IDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5idzI0PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5jZW50ZXJfZnJlcTI0PC9rZXk+CistICAgICAgPHZhbHVl PjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5ub3Jt X2dhaW4yNDwva2V5PgorLSAgICAgIDx2YWx1ZT5GYWxzZTwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4yNDwva2V5PgorLSAgICAgIDx2YWx1ZT4w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50MjU8 L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+YncyNTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y2VudGVyX2ZyZXEyNTwva2V5Pgor LSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+bm9ybV9nYWluMjU8L2tleT4KKy0gICAgICA8dmFsdWU+RmFsc2U8L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWluMjU8L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmFudDI2PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3MjY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwv dmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNlbnRlcl9m cmVxMjY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5Pm5vcm1fZ2FpbjI2PC9rZXk+CistICAgICAgPHZhbHVlPkZh bHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2Fp bjI2PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8 cGFyYW0+CistICAgICAgPGtleT5hbnQyNzwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgor LSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzI3PC9rZXk+CistICAg ICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5jZW50ZXJfZnJlcTI3PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5ub3JtX2dhaW4yNzwva2V5PgorLSAg ICAgIDx2YWx1ZT5GYWxzZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmdhaW4yNzwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50Mjg8L2tleT4KKy0gICAgICA8dmFs dWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Yncy ODwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+Y2VudGVyX2ZyZXEyODwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bm9ybV9nYWlu Mjg8L2tleT4KKy0gICAgICA8dmFsdWU+RmFsc2U8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5nYWluMjg8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDI5PC9rZXk+ CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmJ3Mjk8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNlbnRlcl9mcmVxMjk8L2tleT4KKy0gICAg ICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5Pm5vcm1fZ2FpbjI5PC9rZXk+CistICAgICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjI5PC9rZXk+CistICAgICAg PHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5hbnQyPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3Mjwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y2VudGVyX2ZyZXEyPC9r ZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+ CistICAgICAgPGtleT5ub3JtX2dhaW4yPC9rZXk+CistICAgICAgPHZhbHVlPkZhbHNlPC92YWx1 ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjI8L2tleT4K Ky0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmFudDMwPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3MzA8L2tleT4KKy0gICAgICA8dmFsdWU+ MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNlbnRl cl9mcmVxMzA8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+Cist ICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm5vcm1fZ2FpbjMwPC9rZXk+CistICAgICAgPHZhbHVl PkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ Z2FpbjMwPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5hbnQzMTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzMxPC9rZXk+Cist ICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAg ICAgPGtleT5jZW50ZXJfZnJlcTMxPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5ub3JtX2dhaW4zMTwva2V5Pgor LSAgICAgIDx2YWx1ZT5GYWxzZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmdhaW4zMTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50Mzwva2V5PgorLSAgICAgIDx2 YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5i dzM8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmNlbnRlcl9mcmVxMzwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92 YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bm9ybV9nYWlu Mzwva2V5PgorLSAgICAgIDx2YWx1ZT5GYWxzZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW4zPC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVl PgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5hbnQ0PC9rZXk+Cist ICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmJ3NDwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y2VudGVyX2ZyZXE0PC9rZXk+CistICAgICAgPHZh bHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5u b3JtX2dhaW40PC9rZXk+CistICAgICAgPHZhbHVlPkZhbHNlPC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2FpbjQ8L2tleT4KKy0gICAgICA8dmFsdWU+ MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmFudDU8 L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+Ync1PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jZW50ZXJfZnJlcTU8L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5Pm5vcm1fZ2FpbjU8L2tleT4KKy0gICAgICA8dmFsdWU+RmFsc2U8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5nYWluNTwva2V5PgorLSAgICAg IDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+YW50Njwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5idzY8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+ CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNlbnRlcl9mcmVxNjwv a2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFt PgorLSAgICAgIDxrZXk+bm9ybV9nYWluNjwva2V5PgorLSAgICAgIDx2YWx1ZT5GYWxzZTwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmdhaW42PC9rZXk+ CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5hbnQ3PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmJ3Nzwva2V5PgorLSAgICAgIDx2YWx1ZT4w PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Y2VudGVy X2ZyZXE3PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5ub3JtX2dhaW43PC9rZXk+CistICAgICAgPHZhbHVlPkZh bHNlPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Z2Fp bjc8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxw YXJhbT4KKy0gICAgICA8a2V5PmFudDg8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+Ync4PC9rZXk+CistICAgICAg PHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5jZW50ZXJfZnJlcTg8L2tleT4KKy0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm5vcm1fZ2Fpbjg8L2tleT4KKy0gICAgICA8 dmFsdWU+RmFsc2U8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAg PGtleT5nYWluODwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YW50OTwva2V5PgorLSAgICAgIDx2YWx1ZT48L3Zh bHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5idzk8L2tleT4K Ky0gICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0g ICAgICA8a2V5PmNlbnRlcl9mcmVxOTwva2V5PgorLSAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKy0g ICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+bm9ybV9nYWluOTwva2V5Pgor LSAgICAgIDx2YWx1ZT5GYWxzZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmdhaW45PC9rZXk+CistICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorLSAgICA8 L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5jbG9ja19yYXRlPC9rZXk+CistICAg ICAgPHZhbHVlPjAuMDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmNvbW1lbnQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJh bT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+YWZmaW5pdHk8L2tleT4KKy0gICAgICA8dmFs dWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ZGV2 X2FkZHI8L2tleT4KKy0gICAgICA8dmFsdWU+IiI8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAg ICA8cGFyYW0+CistICAgICAgPGtleT5kZXZfYXJnczwva2V5PgorLSAgICAgIDx2YWx1ZT4ic2Vu ZF9mcmFtZV9zaXplPTY1NTM2LG51bV9zZW5kX2ZyYW1lcz0xMjgiPC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+X2VuYWJsZWQ8L2tleT4KKy0gICAgICA8 dmFsdWU+MTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5 Pl9jb29yZGluYXRlPC9rZXk+CistICAgICAgPHZhbHVlPig1MjgsIDQ0MCk8L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5fcm90YXRpb248L2tleT4KKy0g ICAgICA8dmFsdWU+MDwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmlkPC9rZXk+CistICAgICAgPHZhbHVlPnVoZF91c3JwX3NpbmtfMDwvdmFsdWU+Cist ICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PnR5cGU8L2tleT4KKy0gICAg ICA8dmFsdWU+ZmMzMjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAg ICA8a2V5PmNsb2NrX3NvdXJjZTA8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAg PC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2Rfc3BlYzA8L2tleT4KKy0gICAg ICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+dGltZV9zb3VyY2UwPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNsb2NrX3NvdXJjZTE8L2tleT4KKy0gICAg ICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxr ZXk+c2Rfc3BlYzE8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dGltZV9zb3VyY2UxPC9rZXk+CistICAgICAgPHZh bHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNs b2NrX3NvdXJjZTI8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4K Ky0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2Rfc3BlYzI8L2tleT4KKy0gICAgICA8dmFsdWU+ PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dGltZV9z b3VyY2UyPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAg IDxwYXJhbT4KKy0gICAgICA8a2V5PmNsb2NrX3NvdXJjZTM8L2tleT4KKy0gICAgICA8dmFsdWU+ PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2Rfc3Bl YzM8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+dGltZV9zb3VyY2UzPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFs dWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNsb2NrX3NvdXJj ZTQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBh cmFtPgorLSAgICAgIDxrZXk+c2Rfc3BlYzQ8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dGltZV9zb3VyY2U0PC9r ZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4K Ky0gICAgICA8a2V5PmNsb2NrX3NvdXJjZTU8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4K Ky0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2Rfc3BlYzU8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+dGltZV9zb3VyY2U1PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAg IDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5PmNsb2NrX3NvdXJjZTY8L2tleT4K Ky0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAg ICAgIDxrZXk+c2Rfc3BlYzY8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+dGltZV9zb3VyY2U2PC9rZXk+CistICAg ICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8 a2V5PmNsb2NrX3NvdXJjZTc8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9w YXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+c2Rfc3BlYzc8L2tleT4KKy0gICAgICA8 dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAgPHBhcmFtPgorLSAgICAgIDxrZXk+ dGltZV9zb3VyY2U3PC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFyYW0+ CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pm5jaGFuPC9rZXk+CistICAgICAgPHZhbHVlPjE8 L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5udW1fbWJv YXJkczwva2V5PgorLSAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gICAg PHBhcmFtPgorLSAgICAgIDxrZXk+c2FtcF9yYXRlPC9rZXk+CistICAgICAgPHZhbHVlPnNhbXBf cmF0ZTwvdmFsdWU+CistICAgIDwvcGFyYW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pmhp ZGVfY21kX3BvcnQ8L2tleT4KKy0gICAgICA8dmFsdWU+RmFsc2U8L3ZhbHVlPgorLSAgICA8L3Bh cmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5oaWRlX2xvX2NvbnRyb2xzPC9rZXk+Cist ICAgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5zdHJlYW1fYXJnczwva2V5PgorLSAgICAgIDx2YWx1ZT48L3ZhbHVlPgorLSAg ICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtleT5zdHJlYW1fY2hhbnM8L2tleT4K Ky0gICAgICA8dmFsdWU+W108L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+Cist ICAgICAgPGtleT5zeW5jPC9rZXk+CistICAgICAgPHZhbHVlPjwvdmFsdWU+CistICAgIDwvcGFy YW0+CistICAgIDxwYXJhbT4KKy0gICAgICA8a2V5Pmxlbl90YWdfbmFtZTwva2V5PgorLSAgICAg IDx2YWx1ZT48L3ZhbHVlPgorLSAgICA8L3BhcmFtPgorLSAgICA8cGFyYW0+CistICAgICAgPGtl eT5vdHc8L2tleT4KKy0gICAgICA8dmFsdWU+PC92YWx1ZT4KKy0gICAgPC9wYXJhbT4KKy0gIDwv YmxvY2s+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5hbmFsb2dfc2ln X3NvdXJjZV94XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+YW5hbG9n X3dmbV90eF8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5 PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29u bmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5hbmFsb2dfd2ZtX3R4XzA8L3NvdXJjZV9i bG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+cmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8wPC9z aW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lu a19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0g ICAgPHNvdXJjZV9ibG9ja19pZD5ibG9ja3NfYWRkX3h4XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0g ICAgPHNpbmtfYmxvY2tfaWQ+dWhkX3VzcnBfc2lua18wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8 c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+Cist ICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5i bG9ja3NfY29uanVnYXRlX2NjXzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tf aWQ+cmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8xPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNl X2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nv bm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ibG9ja3Nf a2VlcF9tX2luX25fMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ibG9j a3NfbXVsdGlwbHlfeHhfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291 cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjE8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgor LSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX211bHRpcGx5X2Nv bnN0X3Z4eF8wPC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19h ZGRfeHhfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4K Ky0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5l Y3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX211bHRpcGx5X2NvbnN0X3Z4eF8x PC9zb3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc19hZGRfeHhfMDwv c2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNp bmtfa2V5PjE8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+Cist ICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX211bHRpcGx5X3h4XzA8L3NvdXJjZV9ibG9ja19p ZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+YmxvY2tzX2Nvbmp1Z2F0ZV9jY18wPC9zaW5rX2Jsb2Nr X2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwv c2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJj ZV9ibG9ja19pZD5ibG9ja3NfcmVwZWF0XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtf YmxvY2tfaWQ+YmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1fMDwvc2lua19ibG9ja19pZD4KKy0gICAg PHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5Pgor LSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+ YmxvY2tzX3N0cmVhbV90b192ZWN0b3JfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19i bG9ja19pZD5mZnRfdnh4XzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3Nv dXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4K Ky0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPmJsb2Nrc192ZWN0b3Jfc291 cmNlX3hfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ibG9ja3NfbXVs dGlwbHlfeHhfMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tl eT4KKy0gICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNv bm5lY3Rpb24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1f MDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ibG9ja3Nfa2VlcF9tX2lu X25fMDwvc2lua19ibG9ja19pZD4KKy0gICAgPHNvdXJjZV9rZXk+MDwvc291cmNlX2tleT4KKy0g ICAgPHNpbmtfa2V5PjA8L3Npbmtfa2V5PgorLSAgPC9jb25uZWN0aW9uPgorLSAgPGNvbm5lY3Rp b24+CistICAgIDxzb3VyY2VfYmxvY2tfaWQ+YmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1fMTwvc291 cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5kaWdpdGFsX2NodW5rc190b19zeW1i b2xzX3h4XzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+ CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25u ZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPmJsb2Nrc193YXZmaWxlX3NvdXJjZV8wPC9z b3VyY2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPm5yc2M1X2hkY19lbmNvZGVyXzA8 L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxz aW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgor LSAgICA8c291cmNlX2Jsb2NrX2lkPmJsb2Nrc193YXZmaWxlX3NvdXJjZV8wPC9zb3VyY2VfYmxv Y2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPm5yc2M1X2hkY19lbmNvZGVyXzA8L3NpbmtfYmxv Y2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjE8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4x PC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291 cmNlX2Jsb2NrX2lkPmRpZ2l0YWxfY2h1bmtzX3RvX3N5bWJvbHNfeHhfMDwvc291cmNlX2Jsb2Nr X2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ibG9ja3Nfc3RyZWFtX3RvX3ZlY3Rvcl8wPC9zaW5r X2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19r ZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAg PHNvdXJjZV9ibG9ja19pZD5mZnRfdnh4XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtf YmxvY2tfaWQ+YmxvY2tzX3JlcGVhdF8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tl eT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5l Y3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5sb3dfcGFzc19m aWx0ZXJfMDwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ibG9ja3NfbXVs dGlwbHlfY29uc3Rfdnh4XzE8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3Nv dXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4K Ky0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPm5yc2M1X2hkY19lbmNvZGVy XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tfaWQ+bnJzYzVfbDJfZW5jb2Rl cl8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAg ICA8c2lua19rZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlv bj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5ucnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wPC9zb3Vy Y2VfYmxvY2tfaWQ+CistICAgIDxzaW5rX2Jsb2NrX2lkPmJsb2Nrc192ZWN0b3JfdG9fc3RyZWFt XzE8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAg IDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9u PgorLSAgICA8c291cmNlX2Jsb2NrX2lkPm5yc2M1X2wyX2VuY29kZXJfMDwvc291cmNlX2Jsb2Nr X2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ucnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wPC9zaW5r X2Jsb2NrX2lkPgorLSAgICA8c291cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19r ZXk+MDwvc2lua19rZXk+CistICA8L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAg PHNvdXJjZV9ibG9ja19pZD5ucnNjNV9zaXNfZW5jb2Rlcl8wPC9zb3VyY2VfYmxvY2tfaWQ+Cist ICAgIDxzaW5rX2Jsb2NrX2lkPm5yc2M1X2wxX2ZtX2VuY29kZXJfbXAxXzA8L3NpbmtfYmxvY2tf aWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4xPC9z aW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNl X2Jsb2NrX2lkPm5yc2M1X3BzZF9lbmNvZGVyXzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNp bmtfYmxvY2tfaWQ+bnJzYzVfbDJfZW5jb2Rlcl8wPC9zaW5rX2Jsb2NrX2lkPgorLSAgICA8c291 cmNlX2tleT4wPC9zb3VyY2Vfa2V5PgorLSAgICA8c2lua19rZXk+MTwvc2lua19rZXk+CistICA8 L2Nvbm5lY3Rpb24+CistICA8Y29ubmVjdGlvbj4KKy0gICAgPHNvdXJjZV9ibG9ja19pZD5yYXRp b25hbF9yZXNhbXBsZXJfeHh4XzA8L3NvdXJjZV9ibG9ja19pZD4KKy0gICAgPHNpbmtfYmxvY2tf aWQ+bG93X3Bhc3NfZmlsdGVyXzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8 L3NvdXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlv bj4KKy0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPnJhdGlvbmFsX3Jlc2Ft cGxlcl94eHhfMTwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5yYXRpb25h bF9yZXNhbXBsZXJfeHh4XzI8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3Nv dXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4K Ky0gIDxjb25uZWN0aW9uPgorLSAgICA8c291cmNlX2Jsb2NrX2lkPnJhdGlvbmFsX3Jlc2FtcGxl cl94eHhfMjwvc291cmNlX2Jsb2NrX2lkPgorLSAgICA8c2lua19ibG9ja19pZD5ibG9ja3NfbXVs dGlwbHlfY29uc3Rfdnh4XzA8L3NpbmtfYmxvY2tfaWQ+CistICAgIDxzb3VyY2Vfa2V5PjA8L3Nv dXJjZV9rZXk+CistICAgIDxzaW5rX2tleT4wPC9zaW5rX2tleT4KKy0gIDwvY29ubmVjdGlvbj4K Ky08L2Zsb3dfZ3JhcGg+Cisrb3B0aW9uczoKKysgIHBhcmFtZXRlcnM6CisrICAgIGF1dGhvcjog JycKKysgICAgY2F0ZWdvcnk6ICdbR1JDIEhpZXIgQmxvY2tzXScKKysgICAgY21ha2Vfb3B0OiAn JworKyAgICBjb21tZW50OiAnJworKyAgICBjb3B5cmlnaHQ6ICcnCisrICAgIGRlc2NyaXB0aW9u OiAnJworKyAgICBnZW5fY21ha2U6ICdPbicKKysgICAgZ2VuX2xpbmtpbmc6IGR5bmFtaWMKKysg ICAgZ2VuZXJhdGVfb3B0aW9uczogbm9fZ3VpCisrICAgIGhpZXJfYmxvY2tfc3JjX3BhdGg6ICcu OicKKysgICAgaWQ6IGhkX3R4X3VzcnAKKysgICAgbWF4X25vdXRzOiAnMCcKKysgICAgb3V0cHV0 X2xhbmd1YWdlOiBweXRob24KKysgICAgcGxhY2VtZW50OiAoMCwwKQorKyAgICBxdF9xc3NfdGhl bWU6ICcnCisrICAgIHJlYWx0aW1lX3NjaGVkdWxpbmc6ICcnCisrICAgIHJ1bjogJ1RydWUnCisr ICAgIHJ1bl9jb21tYW5kOiAne3B5dGhvbn0gLXUge2ZpbGVuYW1lfScKKysgICAgcnVuX29wdGlv bnM6IHByb21wdAorKyAgICBzaXppbmdfbW9kZTogZml4ZWQKKysgICAgdGhyZWFkX3NhZmVfc2V0 dGVyczogJycKKysgICAgdGl0bGU6ICcnCisrICAgIHdpbmRvd19zaXplOiAnJworKyAgc3RhdGVz OgorKyAgICBidXNfc2luazogZmFsc2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVz X3N0cnVjdHVyZTogbnVsbAorKyAgICBjb29yZGluYXRlOiBbOCwgMTJdCisrICAgIHJvdGF0aW9u OiAwCisrICAgIHN0YXRlOiBlbmFibGVkCisrCisrYmxvY2tzOgorKy0gbmFtZTogZnJlcQorKyAg aWQ6IHZhcmlhYmxlCisrICBwYXJhbWV0ZXJzOgorKyAgICBjb21tZW50OiAnJworKyAgICB2YWx1 ZTogODcuNWU2CisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291 cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFs4 LCAxNjRdCisrICAgIHJvdGF0aW9uOiAwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBz YW1wX3JhdGUKKysgIGlkOiB2YXJpYWJsZQorKyAgcGFyYW1ldGVyczoKKysgICAgY29tbWVudDog JycKKysgICAgdmFsdWU6ICcyMDAwMDAwJworKyAgc3RhdGVzOgorKyAgICBidXNfc2luazogZmFs c2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVzX3N0cnVjdHVyZTogbnVsbAorKyAg ICBjb29yZGluYXRlOiBbOCwgMTAwXQorKyAgICByb3RhdGlvbjogMAorKyAgICBzdGF0ZTogZW5h YmxlZAorKy0gbmFtZTogYW5hbG9nX3NpZ19zb3VyY2VfeF8wCisrICBpZDogYW5hbG9nX3NpZ19z b3VyY2VfeAorKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAn JworKyAgICBhbXA6ICcwLjEnCisrICAgIGNvbW1lbnQ6ICcnCisrICAgIGZyZXE6ICcxMDAwJwor KyAgICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgICBvZmZzZXQ6ICcw JworKyAgICBwaGFzZTogJzAnCisrICAgIHNhbXBfcmF0ZTogJzUwMDAwJworKyAgICB0eXBlOiBm bG9hdAorKyAgICB3YXZlZm9ybTogYW5hbG9nLkdSX0NPU19XQVZFCisrICBzdGF0ZXM6CisrICAg IGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0 dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFsxMTUyLCA2NDQuMF0KKysgICAgcm90YXRpb246 IDE4MAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogYW5hbG9nX3dmbV90eF8wCisrICBp ZDogYW5hbG9nX3dmbV90eAorKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcnCisrICAg IGFsaWFzOiAnJworKyAgICBhdWRpb19yYXRlOiAnNTAwMDAnCisrICAgIGNvbW1lbnQ6ICcnCisr ICAgIGZoOiAnLTEuMCcKKysgICAgbWF4X2RldjogNzVlMworKyAgICBtYXhvdXRidWY6ICcwJwor KyAgICBtaW5vdXRidWY6ICcwJworKyAgICBxdWFkX3JhdGU6ICcyMDAwMDAnCisrICAgIHRhdTog NzVlLTYKKysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6 IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzg5Niwg NjUyLjBdCisrICAgIHJvdGF0aW9uOiAxODAKKysgICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6 IGJsb2Nrc19hZGRfeHhfMAorKyAgaWQ6IGJsb2Nrc19hZGRfeHgKKysgIHBhcmFtZXRlcnM6Cisr ICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAgY29tbWVudDogJycKKysgICAg bWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysgICAgbnVtX2lucHV0czogJzIn CisrICAgIHR5cGU6IGNvbXBsZXgKKysgICAgdmxlbjogJzEnCisrICBzdGF0ZXM6CisrICAgIGJ1 c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJl OiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFs0MjQsIDU0NC4wXQorKyAgICByb3RhdGlvbjogMAor KyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogYmxvY2tzX2Nvbmp1Z2F0ZV9jY18wCisrICBp ZDogYmxvY2tzX2Nvbmp1Z2F0ZV9jYworKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcn CisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBtYXhvdXRidWY6ICcwJwor KyAgICBtaW5vdXRidWY6ICcwJworKyAgc3RhdGVzOgorKyAgICBidXNfc2luazogZmFsc2UKKysg ICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVzX3N0cnVjdHVyZTogbnVsbAorKyAgICBjb29y ZGluYXRlOiBbNjI0LCA0MjQuMF0KKysgICAgcm90YXRpb246IDE4MAorKyAgICBzdGF0ZTogZW5h YmxlZAorKy0gbmFtZTogYmxvY2tzX2tlZXBfbV9pbl9uXzAKKysgIGlkOiBibG9ja3Nfa2VlcF9t X2luX24KKysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycK KysgICAgY29tbWVudDogJycKKysgICAgbTogJzIxNjAnCisrICAgIG1heG91dGJ1ZjogJzAnCisr ICAgIG1pbm91dGJ1ZjogJzAnCisrICAgIG46ICc0MDk2JworKyAgICBvZmZzZXQ6ICcwJworKyAg ICB0eXBlOiBjb21wbGV4CisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBi dXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5h dGU6IFs5NTIsIDQyMC4wXQorKyAgICByb3RhdGlvbjogMTgwCisrICAgIHN0YXRlOiBlbmFibGVk CisrLSBuYW1lOiBibG9ja3NfbXVsdGlwbHlfY29uc3Rfdnh4XzAKKysgIGlkOiBibG9ja3NfbXVs dGlwbHlfY29uc3Rfdnh4CisrICBwYXJhbWV0ZXJzOgorKyAgICBhZmZpbml0eTogJycKKysgICAg YWxpYXM6ICcnCisrICAgIGNvbW1lbnQ6ICcnCisrICAgIGNvbnN0OiAnMC4wMDEnCisrICAgIG1h eG91dGJ1ZjogJzAnCisrICAgIG1pbm91dGJ1ZjogJzAnCisrICAgIHR5cGU6IGNvbXBsZXgKKysg ICAgdmxlbjogJzEnCisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNf c291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6 IFsyNDgsIDU0MC4wXQorKyAgICByb3RhdGlvbjogMAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0g bmFtZTogYmxvY2tzX211bHRpcGx5X2NvbnN0X3Z4eF8xCisrICBpZDogYmxvY2tzX211bHRpcGx5 X2NvbnN0X3Z4eAorKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFz OiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBjb25zdDogJzAuMScKKysgICAgbWF4b3V0YnVm OiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysgICAgdHlwZTogY29tcGxleAorKyAgICB2bGVu OiAnMScKKysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6 IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzM2OCwg Njg0LjBdCisrICAgIHJvdGF0aW9uOiAxODAKKysgICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6 IGJsb2Nrc19tdWx0aXBseV94eF8wCisrICBpZDogYmxvY2tzX211bHRpcGx5X3h4CisrICBwYXJh bWV0ZXJzOgorKyAgICBhZmZpbml0eTogJycKKysgICAgYWxpYXM6ICcnCisrICAgIGNvbW1lbnQ6 ICcnCisrICAgIG1heG91dGJ1ZjogJzAnCisrICAgIG1pbm91dGJ1ZjogJzAnCisrICAgIG51bV9p bnB1dHM6ICcyJworKyAgICB0eXBlOiBjb21wbGV4CisrICAgIHZsZW46ICcxJworKyAgc3RhdGVz OgorKyAgICBidXNfc2luazogZmFsc2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVz X3N0cnVjdHVyZTogbnVsbAorKyAgICBjb29yZGluYXRlOiBbODE2LCA0MDguMF0KKysgICAgcm90 YXRpb246IDE4MAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogYmxvY2tzX3JlcGVhdF8w CisrICBpZDogYmxvY2tzX3JlcGVhdAorKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcn CisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBpbnRlcnA6ICcyJworKyAg ICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgICB0eXBlOiBjb21wbGV4 CisrICAgIHZsZW46ICcyMDQ4JworKyAgc3RhdGVzOgorKyAgICBidXNfc2luazogZmFsc2UKKysg ICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVzX3N0cnVjdHVyZTogbnVsbAorKyAgICBjb29y ZGluYXRlOiBbMTEwNCwgMjQ0XQorKyAgICByb3RhdGlvbjogMAorKyAgICBzdGF0ZTogZW5hYmxl ZAorKy0gbmFtZTogYmxvY2tzX3N0cmVhbV90b192ZWN0b3JfMAorKyAgaWQ6IGJsb2Nrc19zdHJl YW1fdG9fdmVjdG9yCisrICBwYXJhbWV0ZXJzOgorKyAgICBhZmZpbml0eTogJycKKysgICAgYWxp YXM6ICcnCisrICAgIGNvbW1lbnQ6ICcnCisrICAgIG1heG91dGJ1ZjogJzAnCisrICAgIG1pbm91 dGJ1ZjogJzAnCisrICAgIG51bV9pdGVtczogJzIwNDgnCisrICAgIHR5cGU6IGNvbXBsZXgKKysg ICAgdmxlbjogJzEnCisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNf c291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6 IFs2OTYsIDI1Ni4wXQorKyAgICByb3RhdGlvbjogMAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0g bmFtZTogYmxvY2tzX3ZlY3Rvcl9zb3VyY2VfeF8wCisrICBpZDogYmxvY2tzX3ZlY3Rvcl9zb3Vy Y2VfeAorKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJwor KyAgICBjb21tZW50OiAnJworKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcw JworKyAgICByZXBlYXQ6ICdUcnVlJworKyAgICB0YWdzOiAnW10nCisrICAgIHR5cGU6IGNvbXBs ZXgKKysgICAgdmVjdG9yOiAnW21hdGguc2luKG1hdGgucGkgLyAyICogaSAvIDExMikgZm9yIGkg aW4gcmFuZ2UoMTEyKV0gKyBbMV0gKiAoMjA0OC0xMTIpCisrICAgICAgKyBbbWF0aC5jb3MobWF0 aC5waSAvIDIgKiBpIC8gMTEyKSBmb3IgaSBpbiByYW5nZSgxMTIpXScKKysgICAgdmxlbjogJzEn CisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxz ZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFs5NTIsIDM0MC4w XQorKyAgICByb3RhdGlvbjogMTgwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBibG9j a3NfdmVjdG9yX3RvX3N0cmVhbV8wCisrICBpZDogYmxvY2tzX3ZlY3Rvcl90b19zdHJlYW0KKysg IHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAgY29t bWVudDogJycKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysgICAg bnVtX2l0ZW1zOiAnMjA0OCcKKysgICAgdHlwZTogY29tcGxleAorKyAgICB2bGVuOiAnMScKKysg IHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisr ICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzExMDQsIDQ0MC4wXQor KyAgICByb3RhdGlvbjogMTgwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBibG9ja3Nf dmVjdG9yX3RvX3N0cmVhbV8xCisrICBpZDogYmxvY2tzX3ZlY3Rvcl90b19zdHJlYW0KKysgIHBh cmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAgY29tbWVu dDogJycKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysgICAgbnVt X2l0ZW1zOiAnMTA0ODU3NicKKysgICAgdHlwZTogYnl0ZQorKyAgICB2bGVuOiAnMScKKysgIHN0 YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisrICAg IGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzI4OCwgMjU2LjBdCisrICAg IHJvdGF0aW9uOiAwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBibG9ja3Nfd2F2Zmls ZV9zb3VyY2VfMAorKyAgaWQ6IGJsb2Nrc193YXZmaWxlX3NvdXJjZQorKyAgcGFyYW1ldGVyczoK KysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAg ICBmaWxlOiBzYW1wbGUud2F2CisrICAgIG1heG91dGJ1ZjogJzAnCisrICAgIG1pbm91dGJ1Zjog JzAnCisrICAgIG5jaGFuOiAnMicKKysgICAgcmVwZWF0OiAnVHJ1ZScKKysgIHN0YXRlczoKKysg ICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisrICAgIGJ1c19zdHJ1 Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzg5NiwgNTYuMF0KKysgICAgcm90YXRpb246 IDE4MAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogZGlnaXRhbF9jaHVua3NfdG9fc3lt Ym9sc194eF8wCisrICBpZDogZGlnaXRhbF9jaHVua3NfdG9fc3ltYm9sc194eAorKyAgcGFyYW1l dGVyczoKKysgICAgYWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAn JworKyAgICBkaW1lbnNpb246ICcxJworKyAgICBpbl90eXBlOiBieXRlCisrICAgIG1heG91dGJ1 ZjogJzAnCisrICAgIG1pbm91dGJ1ZjogJzAnCisrICAgIG51bV9wb3J0czogJzEnCisrICAgIG91 dF90eXBlOiBjb21wbGV4CisrICAgIHN5bWJvbF90YWJsZTogKC0xLTFqLCAtMSsxaiwgMS0xaiwg MSsxaiwgMCkKKysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3Vy Y2U6IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzQ3 MiwgMjU2LjBdCisrICAgIHJvdGF0aW9uOiAwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1l OiBmZnRfdnh4XzAKKysgIGlkOiBmZnRfdnh4CisrICBwYXJhbWV0ZXJzOgorKyAgICBhZmZpbml0 eTogJycKKysgICAgYWxpYXM6ICcnCisrICAgIGNvbW1lbnQ6ICcnCisrICAgIGZmdF9zaXplOiAn MjA0OCcKKysgICAgZm9yd2FyZDogJ0ZhbHNlJworKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBt aW5vdXRidWY6ICcwJworKyAgICBudGhyZWFkczogJzEnCisrICAgIHNoaWZ0OiAnVHJ1ZScKKysg ICAgdHlwZTogY29tcGxleAorKyAgICB3aW5kb3c6IHdpbmRvdy5yZWN0YW5ndWxhcigyMDQ4KQor KyAgc3RhdGVzOgorKyAgICBidXNfc2luazogZmFsc2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UK KysgICAgYnVzX3N0cnVjdHVyZTogbnVsbAorKyAgICBjb29yZGluYXRlOiBbODgwLCAyMjAuMF0K KysgICAgcm90YXRpb246IDAKKysgICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6IGltcG9ydF8w CisrICBpZDogaW1wb3J0CisrICBwYXJhbWV0ZXJzOgorKyAgICBhbGlhczogJycKKysgICAgY29t bWVudDogJycKKysgICAgaW1wb3J0czogaW1wb3J0IG1hdGgKKysgIHN0YXRlczoKKysgICAgYnVz X3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6 IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzgsIDIzNl0KKysgICAgcm90YXRpb246IDAKKysgICAg c3RhdGU6IGVuYWJsZWQKKystIG5hbWU6IGxvd19wYXNzX2ZpbHRlcl8wCisrICBpZDogbG93X3Bh c3NfZmlsdGVyCisrICBwYXJhbWV0ZXJzOgorKyAgICBhZmZpbml0eTogJycKKysgICAgYWxpYXM6 ICcnCisrICAgIGJldGE6ICc2Ljc2JworKyAgICBjb21tZW50OiAnJworKyAgICBjdXRvZmZfZnJl cTogJzgwMDAwJworKyAgICBkZWNpbTogJzEnCisrICAgIGdhaW46ICcxJworKyAgICBpbnRlcnA6 ICcxJworKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgICBzYW1w X3JhdGU6IHNhbXBfcmF0ZQorKyAgICB0eXBlOiBmaXJfZmlsdGVyX2NjZgorKyAgICB3aWR0aDog JzIwMDAwJworKyAgICB3aW46IGZpcmRlcy5XSU5fSEFNTUlORworKyAgc3RhdGVzOgorKyAgICBi dXNfc2luazogZmFsc2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVzX3N0cnVjdHVy ZTogbnVsbAorKyAgICBjb29yZGluYXRlOiBbNTI4LCA2MzYuMF0KKysgICAgcm90YXRpb246IDE4 MAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogbnJzYzVfaGRjX2VuY29kZXJfMAorKyAg aWQ6IG5yc2M1X2hkY19lbmNvZGVyCisrICBwYXJhbWV0ZXJzOgorKyAgICBhZmZpbml0eTogJycK KysgICAgYWxpYXM6ICcnCisrICAgIGJpdHJhdGU6ICc2NDAwMCcKKysgICAgY2hhbm5lbHM6ICcy JworKyAgICBjb21tZW50OiAnJworKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6 ICcwJworKyAgc3RhdGVzOgorKyAgICBidXNfc2luazogZmFsc2UKKysgICAgYnVzX3NvdXJjZTog ZmFsc2UKKysgICAgYnVzX3N0cnVjdHVyZTogbnVsbAorKyAgICBjb29yZGluYXRlOiBbNzI4LCA1 Ni4wXQorKyAgICByb3RhdGlvbjogMTgwCisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiBu cnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wCisrICBpZDogbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDEK KysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAg Y29tbWVudDogJycKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysg IHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisr ICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzI4OCwgODguMF0KKysg ICAgcm90YXRpb246IDE4MAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogbnJzYzVfbDJf ZW5jb2Rlcl8wCisrICBpZDogbnJzYzVfbDJfZW5jb2RlcgorKyAgcGFyYW1ldGVyczoKKysgICAg YWZmaW5pdHk6ICcnCisrICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBmaXJz dF9wcm9nOiAnMCcKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAnMCcKKysg ICAgbnVtX3Byb2dzOiAnMScKKysgICAgc2l6ZTogJzE0NjE3NicKKysgIHN0YXRlczoKKysgICAg YnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1 cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzUyOCwgNjguMF0KKysgICAgcm90YXRpb246IDE4 MAorKyAgICBzdGF0ZTogZW5hYmxlZAorKy0gbmFtZTogbnJzYzVfcHNkX2VuY29kZXJfMAorKyAg aWQ6IG5yc2M1X3BzZF9lbmNvZGVyCisrICBwYXJhbWV0ZXJzOgorKyAgICBhZmZpbml0eTogJycK KysgICAgYWxpYXM6ICcnCisrICAgIGFydGlzdDogQXJ0aXN0CisrICAgIGNvbW1lbnQ6ICcnCisr ICAgIG1heG91dGJ1ZjogJzAnCisrICAgIG1pbm91dGJ1ZjogJzAnCisrICAgIHByb2dfbnVtOiAn MCcKKysgICAgdGl0bGU6IFRpdGxlCisrICBzdGF0ZXM6CisrICAgIGJ1c19zaW5rOiBmYWxzZQor KyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJlOiBudWxsCisrICAgIGNv b3JkaW5hdGU6IFs3MjgsIDEzMi4wXQorKyAgICByb3RhdGlvbjogMTgwCisrICAgIHN0YXRlOiBl bmFibGVkCisrLSBuYW1lOiBucnNjNV9zaXNfZW5jb2Rlcl8wCisrICBpZDogbnJzYzVfc2lzX2Vu Y29kZXIKKysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycK KysgICAgY29tbWVudDogJycKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVmOiAn MCcKKysgICAgc2hvcnRfbmFtZTogQUJDRAorKyAgc3RhdGVzOgorKyAgICBidXNfc2luazogZmFs c2UKKysgICAgYnVzX3NvdXJjZTogZmFsc2UKKysgICAgYnVzX3N0cnVjdHVyZTogbnVsbAorKyAg ICBjb29yZGluYXRlOiBbNTI4LCAxNDguMF0KKysgICAgcm90YXRpb246IDE4MAorKyAgICBzdGF0 ZTogZW5hYmxlZAorKy0gbmFtZTogcmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8wCisrICBpZDogcmF0 aW9uYWxfcmVzYW1wbGVyX3h4eAorKyAgcGFyYW1ldGVyczoKKysgICAgYWZmaW5pdHk6ICcnCisr ICAgIGFsaWFzOiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBkZWNpbTogJzEnCisrICAgIGZi dzogJzAnCisrICAgIGludGVycDogc2FtcF9yYXRlIC8vIDIwMDAwMAorKyAgICBtYXhvdXRidWY6 ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgICB0YXBzOiAnJworKyAgICB0eXBlOiBjY2MK KysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAgIGJ1c19zb3VyY2U6IGZhbHNl CisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRpbmF0ZTogWzcwNCwgNjYwLjBd CisrICAgIHJvdGF0aW9uOiAxODAKKysgICAgc3RhdGU6IGVuYWJsZWQKKystIG5hbWU6IHJhdGlv bmFsX3Jlc2FtcGxlcl94eHhfMQorKyAgaWQ6IHJhdGlvbmFsX3Jlc2FtcGxlcl94eHgKKysgIHBh cmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlhczogJycKKysgICAgY29tbWVu dDogJycKKysgICAgZGVjaW06ICc0OScKKysgICAgZmJ3OiAnMCcKKysgICAgaW50ZXJwOiAnMTI1 JworKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6ICcwJworKyAgICB0YXBzOiAn JworKyAgICB0eXBlOiBjY2MKKysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisrICAg IGJ1c19zb3VyY2U6IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29vcmRp bmF0ZTogWzQzMiwgMzk2LjBdCisrICAgIHJvdGF0aW9uOiAxODAKKysgICAgc3RhdGU6IGVuYWJs ZWQKKystIG5hbWU6IHJhdGlvbmFsX3Jlc2FtcGxlcl94eHhfMgorKyAgaWQ6IHJhdGlvbmFsX3Jl c2FtcGxlcl94eHgKKysgIHBhcmFtZXRlcnM6CisrICAgIGFmZmluaXR5OiAnJworKyAgICBhbGlh czogJycKKysgICAgY29tbWVudDogJycKKysgICAgZGVjaW06ICcyNDMnCisrICAgIGZidzogJzAn CisrICAgIGludGVycDogJzI1NicKKysgICAgbWF4b3V0YnVmOiAnMCcKKysgICAgbWlub3V0YnVm OiAnMCcKKysgICAgdGFwczogJycKKysgICAgdHlwZTogY2NjCisrICBzdGF0ZXM6CisrICAgIGJ1 c19zaW5rOiBmYWxzZQorKyAgICBidXNfc291cmNlOiBmYWxzZQorKyAgICBidXNfc3RydWN0dXJl OiBudWxsCisrICAgIGNvb3JkaW5hdGU6IFsyNDAsIDM5Ni4wXQorKyAgICByb3RhdGlvbjogMTgw CisrICAgIHN0YXRlOiBlbmFibGVkCisrLSBuYW1lOiB1aGRfdXNycF9zaW5rXzAKKysgIGlkOiB1 aGRfdXNycF9zaW5rCisrICBwYXJhbWV0ZXJzOgorKyAgICBhZmZpbml0eTogJycKKysgICAgYWxp YXM6ICcnCisrICAgIGFudDA6IFRYL1JYCisrICAgIGFudDE6ICcnCisrICAgIGFudDEwOiAnJwor KyAgICBhbnQxMTogJycKKysgICAgYW50MTI6ICcnCisrICAgIGFudDEzOiAnJworKyAgICBhbnQx NDogJycKKysgICAgYW50MTU6ICcnCisrICAgIGFudDE2OiAnJworKyAgICBhbnQxNzogJycKKysg ICAgYW50MTg6ICcnCisrICAgIGFudDE5OiAnJworKyAgICBhbnQyOiAnJworKyAgICBhbnQyMDog JycKKysgICAgYW50MjE6ICcnCisrICAgIGFudDIyOiAnJworKyAgICBhbnQyMzogJycKKysgICAg YW50MjQ6ICcnCisrICAgIGFudDI1OiAnJworKyAgICBhbnQyNjogJycKKysgICAgYW50Mjc6ICcn CisrICAgIGFudDI4OiAnJworKyAgICBhbnQyOTogJycKKysgICAgYW50MzogJycKKysgICAgYW50 MzA6ICcnCisrICAgIGFudDMxOiAnJworKyAgICBhbnQ0OiAnJworKyAgICBhbnQ1OiAnJworKyAg ICBhbnQ2OiAnJworKyAgICBhbnQ3OiAnJworKyAgICBhbnQ4OiAnJworKyAgICBhbnQ5OiAnJwor KyAgICBidzA6ICcwJworKyAgICBidzE6ICcwJworKyAgICBidzEwOiAnMCcKKysgICAgYncxMTog JzAnCisrICAgIGJ3MTI6ICcwJworKyAgICBidzEzOiAnMCcKKysgICAgYncxNDogJzAnCisrICAg IGJ3MTU6ICcwJworKyAgICBidzE2OiAnMCcKKysgICAgYncxNzogJzAnCisrICAgIGJ3MTg6ICcw JworKyAgICBidzE5OiAnMCcKKysgICAgYncyOiAnMCcKKysgICAgYncyMDogJzAnCisrICAgIGJ3 MjE6ICcwJworKyAgICBidzIyOiAnMCcKKysgICAgYncyMzogJzAnCisrICAgIGJ3MjQ6ICcwJwor KyAgICBidzI1OiAnMCcKKysgICAgYncyNjogJzAnCisrICAgIGJ3Mjc6ICcwJworKyAgICBidzI4 OiAnMCcKKysgICAgYncyOTogJzAnCisrICAgIGJ3MzogJzAnCisrICAgIGJ3MzA6ICcwJworKyAg ICBidzMxOiAnMCcKKysgICAgYnc0OiAnMCcKKysgICAgYnc1OiAnMCcKKysgICAgYnc2OiAnMCcK KysgICAgYnc3OiAnMCcKKysgICAgYnc4OiAnMCcKKysgICAgYnc5OiAnMCcKKysgICAgY2VudGVy X2ZyZXEwOiBmcmVxCisrICAgIGNlbnRlcl9mcmVxMTogJzAnCisrICAgIGNlbnRlcl9mcmVxMTA6 ICcwJworKyAgICBjZW50ZXJfZnJlcTExOiAnMCcKKysgICAgY2VudGVyX2ZyZXExMjogJzAnCisr ICAgIGNlbnRlcl9mcmVxMTM6ICcwJworKyAgICBjZW50ZXJfZnJlcTE0OiAnMCcKKysgICAgY2Vu dGVyX2ZyZXExNTogJzAnCisrICAgIGNlbnRlcl9mcmVxMTY6ICcwJworKyAgICBjZW50ZXJfZnJl cTE3OiAnMCcKKysgICAgY2VudGVyX2ZyZXExODogJzAnCisrICAgIGNlbnRlcl9mcmVxMTk6ICcw JworKyAgICBjZW50ZXJfZnJlcTI6ICcwJworKyAgICBjZW50ZXJfZnJlcTIwOiAnMCcKKysgICAg Y2VudGVyX2ZyZXEyMTogJzAnCisrICAgIGNlbnRlcl9mcmVxMjI6ICcwJworKyAgICBjZW50ZXJf ZnJlcTIzOiAnMCcKKysgICAgY2VudGVyX2ZyZXEyNDogJzAnCisrICAgIGNlbnRlcl9mcmVxMjU6 ICcwJworKyAgICBjZW50ZXJfZnJlcTI2OiAnMCcKKysgICAgY2VudGVyX2ZyZXEyNzogJzAnCisr ICAgIGNlbnRlcl9mcmVxMjg6ICcwJworKyAgICBjZW50ZXJfZnJlcTI5OiAnMCcKKysgICAgY2Vu dGVyX2ZyZXEzOiAnMCcKKysgICAgY2VudGVyX2ZyZXEzMDogJzAnCisrICAgIGNlbnRlcl9mcmVx MzE6ICcwJworKyAgICBjZW50ZXJfZnJlcTQ6ICcwJworKyAgICBjZW50ZXJfZnJlcTU6ICcwJwor KyAgICBjZW50ZXJfZnJlcTY6ICcwJworKyAgICBjZW50ZXJfZnJlcTc6ICcwJworKyAgICBjZW50 ZXJfZnJlcTg6ICcwJworKyAgICBjZW50ZXJfZnJlcTk6ICcwJworKyAgICBjbG9ja19yYXRlOiAn MC4wJworKyAgICBjbG9ja19zb3VyY2UwOiAnJworKyAgICBjbG9ja19zb3VyY2UxOiAnJworKyAg ICBjbG9ja19zb3VyY2UyOiAnJworKyAgICBjbG9ja19zb3VyY2UzOiAnJworKyAgICBjbG9ja19z b3VyY2U0OiAnJworKyAgICBjbG9ja19zb3VyY2U1OiAnJworKyAgICBjbG9ja19zb3VyY2U2OiAn JworKyAgICBjbG9ja19zb3VyY2U3OiAnJworKyAgICBjb21tZW50OiAnJworKyAgICBkZXZfYWRk cjogJyIiJworKyAgICBkZXZfYXJnczogJycKKysgICAgZ2FpbjA6ICc3MCcKKysgICAgZ2FpbjE6 ICcwJworKyAgICBnYWluMTA6ICcwJworKyAgICBnYWluMTE6ICcwJworKyAgICBnYWluMTI6ICcw JworKyAgICBnYWluMTM6ICcwJworKyAgICBnYWluMTQ6ICcwJworKyAgICBnYWluMTU6ICcwJwor KyAgICBnYWluMTY6ICcwJworKyAgICBnYWluMTc6ICcwJworKyAgICBnYWluMTg6ICcwJworKyAg ICBnYWluMTk6ICcwJworKyAgICBnYWluMjogJzAnCisrICAgIGdhaW4yMDogJzAnCisrICAgIGdh aW4yMTogJzAnCisrICAgIGdhaW4yMjogJzAnCisrICAgIGdhaW4yMzogJzAnCisrICAgIGdhaW4y NDogJzAnCisrICAgIGdhaW4yNTogJzAnCisrICAgIGdhaW4yNjogJzAnCisrICAgIGdhaW4yNzog JzAnCisrICAgIGdhaW4yODogJzAnCisrICAgIGdhaW4yOTogJzAnCisrICAgIGdhaW4zOiAnMCcK KysgICAgZ2FpbjMwOiAnMCcKKysgICAgZ2FpbjMxOiAnMCcKKysgICAgZ2FpbjQ6ICcwJworKyAg ICBnYWluNTogJzAnCisrICAgIGdhaW42OiAnMCcKKysgICAgZ2Fpbjc6ICcwJworKyAgICBnYWlu ODogJzAnCisrICAgIGdhaW45OiAnMCcKKysgICAgbGVuX3RhZ19uYW1lOiAnJworKyAgICBsb19l eHBvcnQwOiAnRmFsc2UnCisrICAgIGxvX2V4cG9ydDE6ICdGYWxzZScKKysgICAgbG9fZXhwb3J0 MTA6ICdGYWxzZScKKysgICAgbG9fZXhwb3J0MTE6ICdGYWxzZScKKysgICAgbG9fZXhwb3J0MTI6 ICdGYWxzZScKKysgICAgbG9fZXhwb3J0MTM6ICdGYWxzZScKKysgICAgbG9fZXhwb3J0MTQ6ICdG YWxzZScKKysgICAgbG9fZXhwb3J0MTU6ICdGYWxzZScKKysgICAgbG9fZXhwb3J0MTY6ICdGYWxz ZScKKysgICAgbG9fZXhwb3J0MTc6ICdGYWxzZScKKysgICAgbG9fZXhwb3J0MTg6ICdGYWxzZScK KysgICAgbG9fZXhwb3J0MTk6ICdGYWxzZScKKysgICAgbG9fZXhwb3J0MjogJ0ZhbHNlJworKyAg ICBsb19leHBvcnQyMDogJ0ZhbHNlJworKyAgICBsb19leHBvcnQyMTogJ0ZhbHNlJworKyAgICBs b19leHBvcnQyMjogJ0ZhbHNlJworKyAgICBsb19leHBvcnQyMzogJ0ZhbHNlJworKyAgICBsb19l eHBvcnQyNDogJ0ZhbHNlJworKyAgICBsb19leHBvcnQyNTogJ0ZhbHNlJworKyAgICBsb19leHBv cnQyNjogJ0ZhbHNlJworKyAgICBsb19leHBvcnQyNzogJ0ZhbHNlJworKyAgICBsb19leHBvcnQy ODogJ0ZhbHNlJworKyAgICBsb19leHBvcnQyOTogJ0ZhbHNlJworKyAgICBsb19leHBvcnQzOiAn RmFsc2UnCisrICAgIGxvX2V4cG9ydDMwOiAnRmFsc2UnCisrICAgIGxvX2V4cG9ydDMxOiAnRmFs c2UnCisrICAgIGxvX2V4cG9ydDQ6ICdGYWxzZScKKysgICAgbG9fZXhwb3J0NTogJ0ZhbHNlJwor KyAgICBsb19leHBvcnQ2OiAnRmFsc2UnCisrICAgIGxvX2V4cG9ydDc6ICdGYWxzZScKKysgICAg bG9fZXhwb3J0ODogJ0ZhbHNlJworKyAgICBsb19leHBvcnQ5OiAnRmFsc2UnCisrICAgIGxvX3Nv dXJjZTA6IGludGVybmFsCisrICAgIGxvX3NvdXJjZTE6IGludGVybmFsCisrICAgIGxvX3NvdXJj ZTEwOiBpbnRlcm5hbAorKyAgICBsb19zb3VyY2UxMTogaW50ZXJuYWwKKysgICAgbG9fc291cmNl MTI6IGludGVybmFsCisrICAgIGxvX3NvdXJjZTEzOiBpbnRlcm5hbAorKyAgICBsb19zb3VyY2Ux NDogaW50ZXJuYWwKKysgICAgbG9fc291cmNlMTU6IGludGVybmFsCisrICAgIGxvX3NvdXJjZTE2 OiBpbnRlcm5hbAorKyAgICBsb19zb3VyY2UxNzogaW50ZXJuYWwKKysgICAgbG9fc291cmNlMTg6 IGludGVybmFsCisrICAgIGxvX3NvdXJjZTE5OiBpbnRlcm5hbAorKyAgICBsb19zb3VyY2UyOiBp bnRlcm5hbAorKyAgICBsb19zb3VyY2UyMDogaW50ZXJuYWwKKysgICAgbG9fc291cmNlMjE6IGlu dGVybmFsCisrICAgIGxvX3NvdXJjZTIyOiBpbnRlcm5hbAorKyAgICBsb19zb3VyY2UyMzogaW50 ZXJuYWwKKysgICAgbG9fc291cmNlMjQ6IGludGVybmFsCisrICAgIGxvX3NvdXJjZTI1OiBpbnRl cm5hbAorKyAgICBsb19zb3VyY2UyNjogaW50ZXJuYWwKKysgICAgbG9fc291cmNlMjc6IGludGVy bmFsCisrICAgIGxvX3NvdXJjZTI4OiBpbnRlcm5hbAorKyAgICBsb19zb3VyY2UyOTogaW50ZXJu YWwKKysgICAgbG9fc291cmNlMzogaW50ZXJuYWwKKysgICAgbG9fc291cmNlMzA6IGludGVybmFs CisrICAgIGxvX3NvdXJjZTMxOiBpbnRlcm5hbAorKyAgICBsb19zb3VyY2U0OiBpbnRlcm5hbAor KyAgICBsb19zb3VyY2U1OiBpbnRlcm5hbAorKyAgICBsb19zb3VyY2U2OiBpbnRlcm5hbAorKyAg ICBsb19zb3VyY2U3OiBpbnRlcm5hbAorKyAgICBsb19zb3VyY2U4OiBpbnRlcm5hbAorKyAgICBs b19zb3VyY2U5OiBpbnRlcm5hbAorKyAgICBtYXhvdXRidWY6ICcwJworKyAgICBtaW5vdXRidWY6 ICcwJworKyAgICBuY2hhbjogJzEnCisrICAgIG5vcm1fZ2FpbjA6ICdGYWxzZScKKysgICAgbm9y bV9nYWluMTogJ0ZhbHNlJworKyAgICBub3JtX2dhaW4xMDogJ0ZhbHNlJworKyAgICBub3JtX2dh aW4xMTogJ0ZhbHNlJworKyAgICBub3JtX2dhaW4xMjogJ0ZhbHNlJworKyAgICBub3JtX2dhaW4x MzogJ0ZhbHNlJworKyAgICBub3JtX2dhaW4xNDogJ0ZhbHNlJworKyAgICBub3JtX2dhaW4xNTog J0ZhbHNlJworKyAgICBub3JtX2dhaW4xNjogJ0ZhbHNlJworKyAgICBub3JtX2dhaW4xNzogJ0Zh bHNlJworKyAgICBub3JtX2dhaW4xODogJ0ZhbHNlJworKyAgICBub3JtX2dhaW4xOTogJ0ZhbHNl JworKyAgICBub3JtX2dhaW4yOiAnRmFsc2UnCisrICAgIG5vcm1fZ2FpbjIwOiAnRmFsc2UnCisr ICAgIG5vcm1fZ2FpbjIxOiAnRmFsc2UnCisrICAgIG5vcm1fZ2FpbjIyOiAnRmFsc2UnCisrICAg IG5vcm1fZ2FpbjIzOiAnRmFsc2UnCisrICAgIG5vcm1fZ2FpbjI0OiAnRmFsc2UnCisrICAgIG5v cm1fZ2FpbjI1OiAnRmFsc2UnCisrICAgIG5vcm1fZ2FpbjI2OiAnRmFsc2UnCisrICAgIG5vcm1f Z2FpbjI3OiAnRmFsc2UnCisrICAgIG5vcm1fZ2FpbjI4OiAnRmFsc2UnCisrICAgIG5vcm1fZ2Fp bjI5OiAnRmFsc2UnCisrICAgIG5vcm1fZ2FpbjM6ICdGYWxzZScKKysgICAgbm9ybV9nYWluMzA6 ICdGYWxzZScKKysgICAgbm9ybV9nYWluMzE6ICdGYWxzZScKKysgICAgbm9ybV9nYWluNDogJ0Zh bHNlJworKyAgICBub3JtX2dhaW41OiAnRmFsc2UnCisrICAgIG5vcm1fZ2FpbjY6ICdGYWxzZScK KysgICAgbm9ybV9nYWluNzogJ0ZhbHNlJworKyAgICBub3JtX2dhaW44OiAnRmFsc2UnCisrICAg IG5vcm1fZ2Fpbjk6ICdGYWxzZScKKysgICAgbnVtX21ib2FyZHM6ICcxJworKyAgICBvdHc6ICcn CisrICAgIHNhbXBfcmF0ZTogc2FtcF9yYXRlCisrICAgIHNkX3NwZWMwOiAnJworKyAgICBzZF9z cGVjMTogJycKKysgICAgc2Rfc3BlYzI6ICcnCisrICAgIHNkX3NwZWMzOiAnJworKyAgICBzZF9z cGVjNDogJycKKysgICAgc2Rfc3BlYzU6ICcnCisrICAgIHNkX3NwZWM2OiAnJworKyAgICBzZF9z cGVjNzogJycKKysgICAgc2hvd19sb19jb250cm9sczogJ0ZhbHNlJworKyAgICBzdHJlYW1fYXJn czogJycKKysgICAgc3RyZWFtX2NoYW5zOiAnW10nCisrICAgIHN5bmM6IHN5bmMKKysgICAgdGlt ZV9zb3VyY2UwOiAnJworKyAgICB0aW1lX3NvdXJjZTE6ICcnCisrICAgIHRpbWVfc291cmNlMjog JycKKysgICAgdGltZV9zb3VyY2UzOiAnJworKyAgICB0aW1lX3NvdXJjZTQ6ICcnCisrICAgIHRp bWVfc291cmNlNTogJycKKysgICAgdGltZV9zb3VyY2U2OiAnJworKyAgICB0aW1lX3NvdXJjZTc6 ICcnCisrICAgIHR5cGU6IGZjMzIKKysgIHN0YXRlczoKKysgICAgYnVzX3Npbms6IGZhbHNlCisr ICAgIGJ1c19zb3VyY2U6IGZhbHNlCisrICAgIGJ1c19zdHJ1Y3R1cmU6IG51bGwKKysgICAgY29v cmRpbmF0ZTogWzUyOCwgNTAwLjBdCisrICAgIHJvdGF0aW9uOiAwCisrICAgIHN0YXRlOiBlbmFi bGVkCisrCisrY29ubmVjdGlvbnM6CisrLSBbYW5hbG9nX3NpZ19zb3VyY2VfeF8wLCAnMCcsIGFu YWxvZ193Zm1fdHhfMCwgJzAnXQorKy0gW2FuYWxvZ193Zm1fdHhfMCwgJzAnLCByYXRpb25hbF9y ZXNhbXBsZXJfeHh4XzAsICcwJ10KKystIFtibG9ja3NfYWRkX3h4XzAsICcwJywgdWhkX3VzcnBf c2lua18wLCAnMCddCisrLSBbYmxvY2tzX2Nvbmp1Z2F0ZV9jY18wLCAnMCcsIHJhdGlvbmFsX3Jl c2FtcGxlcl94eHhfMSwgJzAnXQorKy0gW2Jsb2Nrc19rZWVwX21faW5fbl8wLCAnMCcsIGJsb2Nr c19tdWx0aXBseV94eF8wLCAnMSddCisrLSBbYmxvY2tzX211bHRpcGx5X2NvbnN0X3Z4eF8wLCAn MCcsIGJsb2Nrc19hZGRfeHhfMCwgJzAnXQorKy0gW2Jsb2Nrc19tdWx0aXBseV9jb25zdF92eHhf MSwgJzAnLCBibG9ja3NfYWRkX3h4XzAsICcxJ10KKystIFtibG9ja3NfbXVsdGlwbHlfeHhfMCwg JzAnLCBibG9ja3NfY29uanVnYXRlX2NjXzAsICcwJ10KKystIFtibG9ja3NfcmVwZWF0XzAsICcw JywgYmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1fMCwgJzAnXQorKy0gW2Jsb2Nrc19zdHJlYW1fdG9f dmVjdG9yXzAsICcwJywgZmZ0X3Z4eF8wLCAnMCddCisrLSBbYmxvY2tzX3ZlY3Rvcl9zb3VyY2Vf eF8wLCAnMCcsIGJsb2Nrc19tdWx0aXBseV94eF8wLCAnMCddCisrLSBbYmxvY2tzX3ZlY3Rvcl90 b19zdHJlYW1fMCwgJzAnLCBibG9ja3Nfa2VlcF9tX2luX25fMCwgJzAnXQorKy0gW2Jsb2Nrc192 ZWN0b3JfdG9fc3RyZWFtXzEsICcwJywgZGlnaXRhbF9jaHVua3NfdG9fc3ltYm9sc194eF8wLCAn MCddCisrLSBbYmxvY2tzX3dhdmZpbGVfc291cmNlXzAsICcwJywgbnJzYzVfaGRjX2VuY29kZXJf MCwgJzAnXQorKy0gW2Jsb2Nrc193YXZmaWxlX3NvdXJjZV8wLCAnMScsIG5yc2M1X2hkY19lbmNv ZGVyXzAsICcxJ10KKystIFtkaWdpdGFsX2NodW5rc190b19zeW1ib2xzX3h4XzAsICcwJywgYmxv Y2tzX3N0cmVhbV90b192ZWN0b3JfMCwgJzAnXQorKy0gW2ZmdF92eHhfMCwgJzAnLCBibG9ja3Nf cmVwZWF0XzAsICcwJ10KKystIFtsb3dfcGFzc19maWx0ZXJfMCwgJzAnLCBibG9ja3NfbXVsdGlw bHlfY29uc3Rfdnh4XzEsICcwJ10KKystIFtucnNjNV9oZGNfZW5jb2Rlcl8wLCAnMCcsIG5yc2M1 X2wyX2VuY29kZXJfMCwgJzAnXQorKy0gW25yc2M1X2wxX2ZtX2VuY29kZXJfbXAxXzAsICcwJywg YmxvY2tzX3ZlY3Rvcl90b19zdHJlYW1fMSwgJzAnXQorKy0gW25yc2M1X2wyX2VuY29kZXJfMCwg JzAnLCBucnNjNV9sMV9mbV9lbmNvZGVyX21wMV8wLCAnMCddCisrLSBbbnJzYzVfcHNkX2VuY29k ZXJfMCwgJzAnLCBucnNjNV9sMl9lbmNvZGVyXzAsICcxJ10KKystIFtucnNjNV9zaXNfZW5jb2Rl cl8wLCAnMCcsIG5yc2M1X2wxX2ZtX2VuY29kZXJfbXAxXzAsICcxJ10KKystIFtyYXRpb25hbF9y ZXNhbXBsZXJfeHh4XzAsICcwJywgbG93X3Bhc3NfZmlsdGVyXzAsICcwJ10KKystIFtyYXRpb25h bF9yZXNhbXBsZXJfeHh4XzEsICcwJywgcmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8yLCAnMCddCisr LSBbcmF0aW9uYWxfcmVzYW1wbGVyX3h4eF8yLCAnMCcsIGJsb2Nrc19tdWx0aXBseV9jb25zdF92 eHhfMCwgJzAnXQorKworK21ldGFkYXRhOgorKyAgZmlsZV9mb3JtYXQ6IDEKK2RpZmYgLS1naXQg YS9hcHBzL2hkX3R4X3VzcnAucHkgYi9hcHBzL2hkX3R4X3VzcnAucHkKK2luZGV4IDQ1YzcxNDUu LjM3NDI2YWIgMTAwNzU1CistLS0gYXBwcy9oZF90eF91c3JwLnB5CisrKysgYXBwcy9oZF90eF91 c3JwLnB5CitAQCAtMSwyNyArMSwzMCBAQAorLSMhL3Vzci9iaW4vZW52IHB5dGhvbjIKKysjIS91 c3IvYmluL2VudiBweXRob24zCisgIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKy0jIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKworKyMKKysjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMy4wCisrIworICMgR05VIFJhZGlvIFB5dGhvbiBGbG93 IEdyYXBoCisgIyBUaXRsZTogSGQgVHggVXNycAorLSMgR2VuZXJhdGVkOiBTdW4gT2N0IDE1IDAw OjEyOjEyIDIwMTcKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworKyMgR05VIFJhZGlvIHZlcnNpb246IDMuOC4wLjAtcmMyCisgCisgZnJvbSBnbnVy YWRpbyBpbXBvcnQgYW5hbG9nCisgZnJvbSBnbnVyYWRpbyBpbXBvcnQgYmxvY2tzCisgZnJvbSBn bnVyYWRpbyBpbXBvcnQgZGlnaXRhbAorLWZyb20gZ251cmFkaW8gaW1wb3J0IGVuZ19ub3RhdGlv bgorIGZyb20gZ251cmFkaW8gaW1wb3J0IGZmdAorK2Zyb20gZ251cmFkaW8uZmZ0IGltcG9ydCB3 aW5kb3cKKyBmcm9tIGdudXJhZGlvIGltcG9ydCBmaWx0ZXIKKytmcm9tIGdudXJhZGlvLmZpbHRl ciBpbXBvcnQgZmlyZGVzCisgZnJvbSBnbnVyYWRpbyBpbXBvcnQgZ3IKKytpbXBvcnQgc3lzCisr aW1wb3J0IHNpZ25hbAorK2Zyb20gYXJncGFyc2UgaW1wb3J0IEFyZ3VtZW50UGFyc2VyCisrZnJv bSBnbnVyYWRpby5lbmdfYXJnIGltcG9ydCBlbmdfZmxvYXQsIGludHgKKytmcm9tIGdudXJhZGlv IGltcG9ydCBlbmdfbm90YXRpb24KKyBmcm9tIGdudXJhZGlvIGltcG9ydCB1aGQKKy1mcm9tIGdu dXJhZGlvLmVuZ19vcHRpb24gaW1wb3J0IGVuZ19vcHRpb24KKy1mcm9tIGdudXJhZGlvLmZmdCBp bXBvcnQgd2luZG93CistZnJvbSBnbnVyYWRpby5maWx0ZXIgaW1wb3J0IGZpcmRlcworLWZyb20g b3B0cGFyc2UgaW1wb3J0IE9wdGlvblBhcnNlcgorK2ltcG9ydCB0aW1lCisgaW1wb3J0IG1hdGgK KyBpbXBvcnQgbnJzYzUKKy1pbXBvcnQgdGltZQorLQorIAorIGNsYXNzIGhkX3R4X3VzcnAoZ3Iu dG9wX2Jsb2NrKToKKyAKK0BAIC0zMiw0NyArMzUsNTUgQEAgZGVmIF9faW5pdF9fKHNlbGYpOgor ICAgICAgICAgIyBWYXJpYWJsZXMKKyAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgICAgICAgICBzZWxmLnNhbXBfcmF0ZSA9IHNhbXBf cmF0ZSA9IDIwMDAwMDAKKy0gICAgICAgIHNlbGYuZnJlcSA9IGZyZXEgPSA5NS43ZTYKKysgICAg ICAgIHNlbGYuZnJlcSA9IGZyZXEgPSA4Ny41ZTYKKyAKKyAgICAgICAgICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgICAgICAgICAjIEJsb2Nrcwor ICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyAgICAgICAgIHNlbGYudWhkX3VzcnBfc2lua18wID0gdWhkLnVzcnBfc2luaygKKy0gICAg ICAgIAkiLCIuam9pbigoIiIsICJzZW5kX2ZyYW1lX3NpemU9NjU1MzYsbnVtX3NlbmRfZnJhbWVz PTEyOCIpKSwKKy0gICAgICAgIAl1aGQuc3RyZWFtX2FyZ3MoCistICAgICAgICAJCWNwdV9mb3Jt YXQ9ImZjMzIiLAorLSAgICAgICAgCQljaGFubmVscz1yYW5nZSgxKSwKKy0gICAgICAgIAkpLAor KyAgICAgICAgICAgICIsIi5qb2luKCgiIiwgJycpKSwKKysgICAgICAgICAgICB1aGQuc3RyZWFt X2FyZ3MoCisrICAgICAgICAgICAgICAgIGNwdV9mb3JtYXQ9ImZjMzIiLAorKyAgICAgICAgICAg ICAgICBhcmdzPScnLAorKyAgICAgICAgICAgICAgICBjaGFubmVscz1bXSwKKysgICAgICAgICAg ICApLAorKyAgICAgICAgICAgICcnLAorICAgICAgICAgKQorLSAgICAgICAgc2VsZi51aGRfdXNy cF9zaW5rXzAuc2V0X3NhbXBfcmF0ZShzYW1wX3JhdGUpCisgICAgICAgICBzZWxmLnVoZF91c3Jw X3NpbmtfMC5zZXRfY2VudGVyX2ZyZXEoZnJlcSwgMCkKKyAgICAgICAgIHNlbGYudWhkX3VzcnBf c2lua18wLnNldF9nYWluKDcwLCAwKQorKyAgICAgICAgc2VsZi51aGRfdXNycF9zaW5rXzAuc2V0 X2FudGVubmEoJ1RYL1JYJywgMCkKKysgICAgICAgIHNlbGYudWhkX3VzcnBfc2lua18wLnNldF9z YW1wX3JhdGUoc2FtcF9yYXRlKQorKyAgICAgICAgc2VsZi51aGRfdXNycF9zaW5rXzAuc2V0X3Rp bWVfdW5rbm93bl9wcHModWhkLnRpbWVfc3BlYygpKQorICAgICAgICAgc2VsZi5yYXRpb25hbF9y ZXNhbXBsZXJfeHh4XzIgPSBmaWx0ZXIucmF0aW9uYWxfcmVzYW1wbGVyX2NjYygKKyAgICAgICAg ICAgICAgICAgaW50ZXJwb2xhdGlvbj0yNTYsCisgICAgICAgICAgICAgICAgIGRlY2ltYXRpb249 MjQzLAorICAgICAgICAgICAgICAgICB0YXBzPU5vbmUsCistICAgICAgICAgICAgICAgIGZyYWN0 aW9uYWxfYnc9Tm9uZSwKKy0gICAgICAgICkKKysgICAgICAgICAgICAgICAgZnJhY3Rpb25hbF9i dz1Ob25lKQorICAgICAgICAgc2VsZi5yYXRpb25hbF9yZXNhbXBsZXJfeHh4XzEgPSBmaWx0ZXIu cmF0aW9uYWxfcmVzYW1wbGVyX2NjYygKKyAgICAgICAgICAgICAgICAgaW50ZXJwb2xhdGlvbj0x MjUsCisgICAgICAgICAgICAgICAgIGRlY2ltYXRpb249NDksCisgICAgICAgICAgICAgICAgIHRh cHM9Tm9uZSwKKy0gICAgICAgICAgICAgICAgZnJhY3Rpb25hbF9idz1Ob25lLAorLSAgICAgICAg KQorKyAgICAgICAgICAgICAgICBmcmFjdGlvbmFsX2J3PU5vbmUpCisgICAgICAgICBzZWxmLnJh dGlvbmFsX3Jlc2FtcGxlcl94eHhfMCA9IGZpbHRlci5yYXRpb25hbF9yZXNhbXBsZXJfY2NjKAor LSAgICAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uPXNhbXBfcmF0ZSAvIDIwMDAwMCwKKysgICAg ICAgICAgICAgICAgaW50ZXJwb2xhdGlvbj1zYW1wX3JhdGUgLy8gMjAwMDAwLAorICAgICAgICAg ICAgICAgICBkZWNpbWF0aW9uPTEsCisgICAgICAgICAgICAgICAgIHRhcHM9Tm9uZSwKKy0gICAg ICAgICAgICAgICAgZnJhY3Rpb25hbF9idz1Ob25lLAorLSAgICAgICAgKQorKyAgICAgICAgICAg ICAgICBmcmFjdGlvbmFsX2J3PU5vbmUpCisgICAgICAgICBzZWxmLm5yc2M1X3Npc19lbmNvZGVy XzAgPSBucnNjNS5zaXNfZW5jb2RlcignQUJDRCcpCisgICAgICAgICBzZWxmLm5yc2M1X3BzZF9l bmNvZGVyXzAgPSBucnNjNS5wc2RfZW5jb2RlcigwLCAnVGl0bGUnLCAnQXJ0aXN0JykKKyAgICAg ICAgIHNlbGYubnJzYzVfbDJfZW5jb2Rlcl8wID0gbnJzYzUubDJfZW5jb2RlcigxLCAwLCAxNDYx NzYpCisgICAgICAgICBzZWxmLm5yc2M1X2wxX2ZtX2VuY29kZXJfbXAxXzAgPSBucnNjNS5sMV9m bV9lbmNvZGVyKDEpCisgICAgICAgICBzZWxmLm5yc2M1X2hkY19lbmNvZGVyXzAgPSBucnNjNS5o ZGNfZW5jb2RlcigyLCA2NDAwMCkKKy0gICAgICAgIHNlbGYubG93X3Bhc3NfZmlsdGVyXzAgPSBm aWx0ZXIuZmlyX2ZpbHRlcl9jY2YoMSwgZmlyZGVzLmxvd19wYXNzKAorLSAgICAgICAgCTEsIHNh bXBfcmF0ZSwgODAwMDAsIDIwMDAwLCBmaXJkZXMuV0lOX0hBTU1JTkcsIDYuNzYpKQorLSAgICAg ICAgc2VsZi5mZnRfdnh4XzAgPSBmZnQuZmZ0X3ZjYygyMDQ4LCBGYWxzZSwgKHdpbmRvdy5yZWN0 YW5ndWxhcigyMDQ4KSksIFRydWUsIDEpCisrICAgICAgICBzZWxmLmxvd19wYXNzX2ZpbHRlcl8w ID0gZmlsdGVyLmZpcl9maWx0ZXJfY2NmKAorKyAgICAgICAgICAgIDEsCisrICAgICAgICAgICAg ZmlyZGVzLmxvd19wYXNzKAorKyAgICAgICAgICAgICAgICAxLAorKyAgICAgICAgICAgICAgICBz YW1wX3JhdGUsCisrICAgICAgICAgICAgICAgIDgwMDAwLAorKyAgICAgICAgICAgICAgICAyMDAw MCwKKysgICAgICAgICAgICAgICAgZmlyZGVzLldJTl9IQU1NSU5HLAorKyAgICAgICAgICAgICAg ICA2Ljc2KSkKKysgICAgICAgIHNlbGYuZmZ0X3Z4eF8wID0gZmZ0LmZmdF92Y2MoMjA0OCwgRmFs c2UsIHdpbmRvdy5yZWN0YW5ndWxhcigyMDQ4KSwgVHJ1ZSwgMSkKKyAgICAgICAgIHNlbGYuZGln aXRhbF9jaHVua3NfdG9fc3ltYm9sc194eF8wID0gZGlnaXRhbC5jaHVua3NfdG9fc3ltYm9sc19i YygoLTEtMWosIC0xKzFqLCAxLTFqLCAxKzFqLCAwKSwgMSkKKyAgICAgICAgIHNlbGYuYmxvY2tz X3dhdmZpbGVfc291cmNlXzAgPSBibG9ja3Mud2F2ZmlsZV9zb3VyY2UoJ3NhbXBsZS53YXYnLCBU cnVlKQorICAgICAgICAgc2VsZi5ibG9ja3NfdmVjdG9yX3RvX3N0cmVhbV8xID0gYmxvY2tzLnZl Y3Rvcl90b19zdHJlYW0oZ3Iuc2l6ZW9mX2NoYXIqMSwgMTA0ODU3NikKK0BAIC04MSw4ICs5Miw4 IEBAIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgIHNlbGYuYmxvY2tzX3N0cmVhbV90b192 ZWN0b3JfMCA9IGJsb2Nrcy5zdHJlYW1fdG9fdmVjdG9yKGdyLnNpemVvZl9ncl9jb21wbGV4KjEs IDIwNDgpCisgICAgICAgICBzZWxmLmJsb2Nrc19yZXBlYXRfMCA9IGJsb2Nrcy5yZXBlYXQoZ3Iu c2l6ZW9mX2dyX2NvbXBsZXgqMjA0OCwgMikKKyAgICAgICAgIHNlbGYuYmxvY2tzX211bHRpcGx5 X3h4XzAgPSBibG9ja3MubXVsdGlwbHlfdmNjKDEpCistICAgICAgICBzZWxmLmJsb2Nrc19tdWx0 aXBseV9jb25zdF92eHhfMSA9IGJsb2Nrcy5tdWx0aXBseV9jb25zdF92Y2MoKDAuMSwgKSkKKy0g ICAgICAgIHNlbGYuYmxvY2tzX211bHRpcGx5X2NvbnN0X3Z4eF8wID0gYmxvY2tzLm11bHRpcGx5 X2NvbnN0X3ZjYygoMC4wMDEsICkpCisrICAgICAgICBzZWxmLmJsb2Nrc19tdWx0aXBseV9jb25z dF92eHhfMSA9IGJsb2Nrcy5tdWx0aXBseV9jb25zdF9jYygwLjEpCisrICAgICAgICBzZWxmLmJs b2Nrc19tdWx0aXBseV9jb25zdF92eHhfMCA9IGJsb2Nrcy5tdWx0aXBseV9jb25zdF9jYygwLjAw MSkKKyAgICAgICAgIHNlbGYuYmxvY2tzX2tlZXBfbV9pbl9uXzAgPSBibG9ja3Mua2VlcF9tX2lu X24oZ3Iuc2l6ZW9mX2dyX2NvbXBsZXgsIDIxNjAsIDQwOTYsIDApCisgICAgICAgICBzZWxmLmJs b2Nrc19jb25qdWdhdGVfY2NfMCA9IGJsb2Nrcy5jb25qdWdhdGVfY2MoKQorICAgICAgICAgc2Vs Zi5ibG9ja3NfYWRkX3h4XzAgPSBibG9ja3MuYWRkX3ZjYygxKQorQEAgLTkzLDcgKzEwNCw5IEBA IGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgIAltYXhfZGV2PTc1ZTMsCisgICAgICAgICAJ Zmg9LTEuMCwKKyAgICAgICAgICkKKy0gICAgICAgIHNlbGYuYW5hbG9nX3NpZ19zb3VyY2VfeF8w ID0gYW5hbG9nLnNpZ19zb3VyY2VfZig1MDAwMCwgYW5hbG9nLkdSX0NPU19XQVZFLCAxMDAwLCAw LjEsIDApCisrICAgICAgICBzZWxmLmFuYWxvZ19zaWdfc291cmNlX3hfMCA9IGFuYWxvZy5zaWdf c291cmNlX2YoNTAwMDAsIGFuYWxvZy5HUl9DT1NfV0FWRSwgMTAwMCwgMC4xLCAwLCAwKQorKwor KworIAorICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKyAgICAgICAgICMgQ29ubmVjdGlvbnMKK0BAIC0xMzAsOCArMTQzLDggQEAgZGVm IGdldF9zYW1wX3JhdGUoc2VsZik6CisgCisgICAgIGRlZiBzZXRfc2FtcF9yYXRlKHNlbGYsIHNh bXBfcmF0ZSk6CisgICAgICAgICBzZWxmLnNhbXBfcmF0ZSA9IHNhbXBfcmF0ZQorLSAgICAgICAg c2VsZi51aGRfdXNycF9zaW5rXzAuc2V0X3NhbXBfcmF0ZShzZWxmLnNhbXBfcmF0ZSkKKyAgICAg ICAgIHNlbGYubG93X3Bhc3NfZmlsdGVyXzAuc2V0X3RhcHMoZmlyZGVzLmxvd19wYXNzKDEsIHNl bGYuc2FtcF9yYXRlLCA4MDAwMCwgMjAwMDAsIGZpcmRlcy5XSU5fSEFNTUlORywgNi43NikpCisr ICAgICAgICBzZWxmLnVoZF91c3JwX3NpbmtfMC5zZXRfc2FtcF9yYXRlKHNlbGYuc2FtcF9yYXRl KQorIAorICAgICBkZWYgZ2V0X2ZyZXEoc2VsZik6CisgICAgICAgICByZXR1cm4gc2VsZi5mcmVx CitAQCAtMTQxLDEyICsxNTQsMjEgQEAgZGVmIHNldF9mcmVxKHNlbGYsIGZyZXEpOgorICAgICAg ICAgc2VsZi51aGRfdXNycF9zaW5rXzAuc2V0X2NlbnRlcl9mcmVxKHNlbGYuZnJlcSwgMCkKKyAK KyAKKy1kZWYgbWFpbih0b3BfYmxvY2tfY2xzPWhkX3R4X3VzcnAsIG9wdGlvbnM9Tm9uZSk6Cisg CisrZGVmIG1haW4odG9wX2Jsb2NrX2Nscz1oZF90eF91c3JwLCBvcHRpb25zPU5vbmUpOgorICAg ICB0YiA9IHRvcF9ibG9ja19jbHMoKQorKworKyAgICBkZWYgc2lnX2hhbmRsZXIoc2lnPU5vbmUs IGZyYW1lPU5vbmUpOgorKyAgICAgICAgdGIuc3RvcCgpCisrICAgICAgICB0Yi53YWl0KCkKKysg ICAgICAgIHN5cy5leGl0KDApCisrCisrICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0lOVCwg c2lnX2hhbmRsZXIpCisrICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR1RFUk0sIHNpZ19oYW5k bGVyKQorKworICAgICB0Yi5zdGFydCgpCisgICAgIHRyeToKKy0gICAgICAgIHJhd19pbnB1dCgn UHJlc3MgRW50ZXIgdG8gcXVpdDogJykKKysgICAgICAgIGlucHV0KCdQcmVzcyBFbnRlciB0byBx dWl0OiAnKQorICAgICBleGNlcHQgRU9GRXJyb3I6CisgICAgICAgICBwYXNzCisgICAgIHRiLnN0 b3AoKQorZGlmZiAtLWdpdCBhL2NtYWtlL01vZHVsZXMvQ01ha2VQYXJzZUFyZ3VtZW50c0NvcHku Y21ha2UgYi9jbWFrZS9Nb2R1bGVzL0NNYWtlUGFyc2VBcmd1bWVudHNDb3B5LmNtYWtlCitpbmRl eCA3Y2U0YzQ5Li42NjAxNmNiIDEwMDY0NAorLS0tIGNtYWtlL01vZHVsZXMvQ01ha2VQYXJzZUFy Z3VtZW50c0NvcHkuY21ha2UKKysrKyBjbWFrZS9Nb2R1bGVzL0NNYWtlUGFyc2VBcmd1bWVudHND b3B5LmNtYWtlCitAQCAtNTgsNyArNTgsNyBAQAorICMgdGhlIG5ldyBvcHRpb24uCisgIyBFLmcu IG15X2luc3RhbGwoVEFSR0VUUyBmb28gREVTVElOQVRJT04gT1BUSU9OQUwpIHdvdWxkIHJlc3Vs dCBpbgorICMgTVlfSU5TVEFMTF9ERVNUSU5BVElPTiBzZXQgdG8gIk9QVElPTkFMIiwgYnV0IE1Z X0lOU1RBTExfREVTVElOQVRJT04gd291bGQKKy0jIGJlIGVtcHR5IGFuZCBNWV9JTlNUQUxMX09Q VElPTkFMIHdvdWxkIGJlIHNldCB0byBUUlVFIHRoZXJlZm9yLgorKyMgYmUgZW1wdHkgYW5kIE1Z X0lOU1RBTExfT1BUSU9OQUwgd291bGQgYmUgc2V0IHRvIFRSVUUgdGhlcmVmb3JlLgorIAorICM9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorICMgQ29weXJpZ2h0IDIwMTAgQWxleGFuZGVyIE5ldW5kb3Jm IDxuZXVuZG9yZkBrZGUub3JnPgorZGlmZiAtLWdpdCBhL2NtYWtlL01vZHVsZXMvRmluZENwcFVu aXQuY21ha2UgYi9jbWFrZS9Nb2R1bGVzL0ZpbmRDcHBVbml0LmNtYWtlCitkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IGY5M2FkZTMuLjAwMDAwMDAKKy0tLSBjbWFrZS9Nb2R1bGVzL0Zp bmRDcHBVbml0LmNtYWtlCisrKysgL2Rldi9udWxsCitAQCAtMSwzOSArMCwwIEBACistIyBodHRw Oi8vd3d3LmNtYWtlLm9yZy9waXBlcm1haWwvY21ha2UvMjAwNi1PY3RvYmVyLzAxMTQ0Ni5odG1s CistIyBNb2RpZmllZCB0byB1c2UgcGtnIGNvbmZpZyBhbmQgdXNlIHN0YW5kYXJkIHZhciBuYW1l cworLQorLSMKKy0jIEZpbmQgdGhlIENwcFVuaXQgaW5jbHVkZXMgYW5kIGxpYnJhcnkKKy0jCist IyBUaGlzIG1vZHVsZSBkZWZpbmVzCistIyBDUFBVTklUX0lOQ0xVREVfRElSLCB3aGVyZSB0byBm aW5kIHRpZmYuaCwgZXRjLgorLSMgQ1BQVU5JVF9MSUJSQVJJRVMsIHRoZSBsaWJyYXJpZXMgdG8g bGluayBhZ2FpbnN0IHRvIHVzZSBDcHBVbml0LgorLSMgQ1BQVU5JVF9GT1VORCwgSWYgZmFsc2Us IGRvIG5vdCB0cnkgdG8gdXNlIENwcFVuaXQuCistCistSU5DTFVERShGaW5kUGtnQ29uZmlnKQor LVBLR19DSEVDS19NT0RVTEVTKFBDX0NQUFVOSVQgImNwcHVuaXQiKQorLQorLUZJTkRfUEFUSChD UFBVTklUX0lOQ0xVREVfRElSUworLSAgICBOQU1FUyBjcHB1bml0L1Rlc3RDYXNlLmgKKy0gICAg SElOVFMgJHtQQ19DUFBVTklUX0lOQ0xVREVfRElSfQorLSAgICAke0NNQUtFX0lOU1RBTExfUFJF RklYfS9pbmNsdWRlCistICAgIFBBVEhTCistICAgIC91c3IvbG9jYWwvaW5jbHVkZQorLSAgICAv dXNyL2luY2x1ZGUKKy0pCistCistRklORF9MSUJSQVJZKENQUFVOSVRfTElCUkFSSUVTCistICAg IE5BTUVTIGNwcHVuaXQKKy0gICAgSElOVFMgJHtQQ19DUFBVTklUX0xJQkRJUn0KKy0gICAgJHtD TUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliCistICAgICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2xp YjY0CistICAgIFBBVEhTCistICAgICR7Q1BQVU5JVF9JTkNMVURFX0RJUlN9Ly4uL2xpYgorLSAg ICAvdXNyL2xvY2FsL2xpYgorLSAgICAvdXNyL2xpYgorLSkKKy0KKy1MSVNUKEFQUEVORCBDUFBV TklUX0xJQlJBUklFUyAke0NNQUtFX0RMX0xJQlN9KQorLQorLUlOQ0xVREUoRmluZFBhY2thZ2VI YW5kbGVTdGFuZGFyZEFyZ3MpCistRklORF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKENQ UFVOSVQgREVGQVVMVF9NU0cgQ1BQVU5JVF9MSUJSQVJJRVMgQ1BQVU5JVF9JTkNMVURFX0RJUlMp CistTUFSS19BU19BRFZBTkNFRChDUFBVTklUX0xJQlJBUklFUyBDUFBVTklUX0lOQ0xVREVfRElS UykKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb1J1bnRpbWUuY21ha2Ug Yi9jbWFrZS9Nb2R1bGVzL0ZpbmRHbnVyYWRpb1J1bnRpbWUuY21ha2UKK2RlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggYWZlZDY4NC4uMDAwMDAwMAorLS0tIGNtYWtlL01vZHVsZXMvRmlu ZEdudXJhZGlvUnVudGltZS5jbWFrZQorKysrIC9kZXYvbnVsbAorQEAgLTEsMzYgKzAsMCBAQAor LUlOQ0xVREUoRmluZFBrZ0NvbmZpZykKKy1QS0dfQ0hFQ0tfTU9EVUxFUyhQQ19HTlVSQURJT19S VU5USU1FIGdudXJhZGlvLXJ1bnRpbWUpCistCistaWYoUENfR05VUkFESU9fUlVOVElNRV9GT1VO RCkKKy0gICMgbG9vayBmb3IgaW5jbHVkZSBmaWxlcworLSAgRklORF9QQVRIKAorLSAgICBHTlVS QURJT19SVU5USU1FX0lOQ0xVREVfRElSUworLSAgICBOQU1FUyBnbnVyYWRpby90b3BfYmxvY2su aAorLSAgICBISU5UUyAkRU5We0dOVVJBRElPX1JVTlRJTUVfRElSfS9pbmNsdWRlCistICAgICAg ICAgICR7UENfR05VUkFESU9fUlVOVElNRV9JTkNMVURFX0RJUlN9CistICAgICAgICAgICR7Q01B S0VfSU5TVEFMTF9QUkVGSVh9L2luY2x1ZGUKKy0gICAgUEFUSFMgL3Vzci9sb2NhbC9pbmNsdWRl CistICAgICAgICAgIC91c3IvaW5jbHVkZQorLSAgICApCistCistICAjIGxvb2sgZm9yIGxpYnMK Ky0gIEZJTkRfTElCUkFSWSgKKy0gICAgR05VUkFESU9fUlVOVElNRV9MSUJSQVJJRVMKKy0gICAg TkFNRVMgZ251cmFkaW8tcnVudGltZQorLSAgICBISU5UUyAkRU5We0dOVVJBRElPX1JVTlRJTUVf RElSfS9saWIKKy0gICAgICAgICAgJHtQQ19HTlVSQURJT19SVU5USU1FX0xJQkRJUn0KKy0gICAg ICAgICAgJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliLworLSAgICAgICAgICAke0NNQUtFX0lO U1RBTExfUFJFRklYfS9saWI2NC8KKy0gICAgUEFUSFMgL3Vzci9sb2NhbC9saWIKKy0gICAgICAg ICAgL3Vzci9sb2NhbC9saWI2NAorLSAgICAgICAgICAvdXNyL2xpYgorLSAgICAgICAgICAvdXNy L2xpYjY0CistICAgICkKKy0KKy0gIHNldChHTlVSQURJT19SVU5USU1FX0ZPVU5EICR7UENfR05V UkFESU9fUlVOVElNRV9GT1VORH0pCistZW5kaWYoUENfR05VUkFESU9fUlVOVElNRV9GT1VORCkK Ky0KKy1JTkNMVURFKEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdzKQorLSMgZG8gbm90IGNo ZWNrIEdOVVJBRElPX1JVTlRJTUVfSU5DTFVERV9ESVJTLCBpcyBub3Qgc2V0IHdoZW4gZGVmYXVs dCBpbmNsdWRlIHBhdGggdXMgdXNlZC4KKy1GSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FS R1MoR05VUkFESU9fUlVOVElNRSBERUZBVUxUX01TRyBHTlVSQURJT19SVU5USU1FX0xJQlJBUklF UykKKy1NQVJLX0FTX0FEVkFOQ0VEKEdOVVJBRElPX1JVTlRJTUVfTElCUkFSSUVTIEdOVVJBRElP X1JVTlRJTUVfSU5DTFVERV9ESVJTKQorZGlmZiAtLWdpdCBhL2NtYWtlL01vZHVsZXMvR3JNaXNj VXRpbHMuY21ha2UgYi9jbWFrZS9Nb2R1bGVzL0dyTWlzY1V0aWxzLmNtYWtlCitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDViYWQ1N2MuLjAwMDAwMDAKKy0tLSBjbWFrZS9Nb2R1bGVz L0dyTWlzY1V0aWxzLmNtYWtlCisrKysgL2Rldi9udWxsCitAQCAtMSw1MjggKzAsMCBAQAorLSMg Q29weXJpZ2h0IDIwMTAtMjAxMSwyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor LSMKKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworLSMKKy0jIEdOVSBSYWRpbyBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cist IyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQorLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorLSMgYW55IGxhdGVyIHZlcnNpb24uCistIwor LSMgR05VIFJhZGlvIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCistIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgorLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKy0jCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYWxvbmcgd2l0aCBHTlUgUmFk aW87IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworLSMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LAorLSMgQm9zdG9u LCBNQSAwMjExMC0xMzAxLCBVU0EuCistCistaWYoREVGSU5FRCBfX0lOQ0xVREVEX0dSX01JU0Nf VVRJTFNfQ01BS0UpCistICAgIHJldHVybigpCistZW5kaWYoKQorLXNldChfX0lOQ0xVREVEX0dS X01JU0NfVVRJTFNfQ01BS0UgVFJVRSkKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIFNldCBnbG9i YWwgdmFyaWFibGUgbWFjcm8uCistIyBVc2VkIGZvciBzdWJkaXJlY3RvcmllcyB0byBleHBvcnQg c2V0dGluZ3MuCistIyBFeGFtcGxlOiBpbmNsdWRlIGFuZCBsaWJyYXJ5IHBhdGhzLgorLSMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworLWZ1bmN0aW9uKEdSX1NFVF9HTE9CQUwgdmFyKQorLSAgICBzZXQoJHt2YXJ9 ICR7QVJHTn0gQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCistZW5kZnVuY3Rpb24oR1JfU0VUX0dM T0JBTCkKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIFNldCB0aGUgcHJlLXByb2Nlc3NvciBkZWZp bml0aW9uIGlmIHRoZSBjb25kaXRpb24gaXMgdHJ1ZS4KKy0jICAtIGRlZiB0aGUgcHJlLXByb2Nl c3NvciBkZWZpbml0aW9uIHRvIHNldCBhbmQgY29uZGl0aW9uIG5hbWUKKy0jIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKy1mdW5jdGlvbihHUl9BRERfQ09ORF9ERUYgZGVmKQorLSAgICBpZigke2RlZn0pCistICAg ICAgICBhZGRfZGVmaW5pdGlvbnMoLUQke2RlZn0pCistICAgIGVuZGlmKCR7ZGVmfSkKKy1lbmRm dW5jdGlvbihHUl9BRERfQ09ORF9ERUYpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBDaGVjayBm b3IgYSBoZWFkZXIgYW5kIGNvbmRpdGlvbmFsbHkgc2V0IGEgY29tcGlsZSBkZWZpbmUuCistIyAg LSBoZHIgdGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGhlYWRlciBmaWxlCistIyAgLSBkZWYgdGhl IHByZS1wcm9jZXNzb3IgZGVmaW5pdGlvbiB0byBzZXQKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1mdW5j dGlvbihHUl9DSEVDS19IRFJfTl9ERUYgaGRyIGRlZikKKy0gICAgaW5jbHVkZShDaGVja0luY2x1 ZGVGaWxlQ1hYKQorLSAgICBDSEVDS19JTkNMVURFX0ZJTEVfQ1hYKCR7aGRyfSAke2RlZn0pCist ICAgIEdSX0FERF9DT05EX0RFRigke2RlZn0pCistZW5kZnVuY3Rpb24oR1JfQ0hFQ0tfSERSX05f REVGKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgSW5jbHVkZSBzdWJkaXJlY3RvcnkgbWFjcm8u CistIyBTZXRzIHRoZSBDTWFrZSBkaXJlY3RvcnkgdmFyaWFibGVzLAorLSMgaW5jbHVkZXMgdGhl IHN1YmRpcmVjdG9yeSBDTWFrZUxpc3RzLnR4dCwKKy0jIHJlc2V0cyB0aGUgQ01ha2UgZGlyZWN0 b3J5IHZhcmlhYmxlcy4KKy0jCistIyBUaGlzIG1hY3JvIGluY2x1ZGVzIHN1YmRpcmVjdG9yaWVz IHJhdGhlciB0aGFuIGFkZGluZyB0aGVtCistIyBzbyB0aGF0IHRoZSBzdWJkaXJlY3RvcnkgY2Fu IGFmZmVjdCB2YXJpYWJsZXMgaW4gdGhlIGxldmVsIGFib3ZlLgorLSMgVGhpcyBwcm92aWRlcyBh IHdvcmstYXJvdW5kIGZvciB0aGUgbGFjayBvZiBjb252ZW5pZW5jZSBsaWJyYXJpZXMuCistIyBU aGlzIHdheSBhIHN1YmRpcmVjdG9yeSBjYW4gYXBwZW5kIHRvIHRoZSBsaXN0IG9mIGxpYnJhcnkg c291cmNlcy4KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1tYWNybyhHUl9JTkNMVURFX1NVQkRJUkVDVE9S WSBzdWJkaXIpCistICAgICNpbnNlcnQgdGhlIGN1cnJlbnQgZGlyZWN0b3JpZXMgb24gdGhlIGZy b250IG9mIHRoZSBsaXN0CistICAgIGxpc3QoSU5TRVJUIF9jbWFrZV9zb3VyY2VfZGlycyAwICR7 Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKy0gICAgbGlzdChJTlNFUlQgX2NtYWtlX2JpbmFy eV9kaXJzIDAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9KQorLQorLSAgICAjc2V0IHRoZSBj dXJyZW50IGRpcmVjdG9yaWVzIHRvIHRoZSBuYW1lcyBvZiB0aGUgc3ViZGlycworLSAgICBzZXQo Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8ke3N1 YmRpcn0pCistICAgIHNldChDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVIgJHtDTUFLRV9DVVJSRU5U X0JJTkFSWV9ESVJ9LyR7c3ViZGlyfSkKKy0KKy0gICAgI2luY2x1ZGUgdGhlIHN1YmRpcmVjdG9y eSBDTWFrZUxpc3RzIHRvIHJ1biBpdAorLSAgICBmaWxlKE1BS0VfRElSRUNUT1JZICR7Q01BS0Vf Q1VSUkVOVF9CSU5BUllfRElSfSkKKy0gICAgaW5jbHVkZSgke0NNQUtFX0NVUlJFTlRfU09VUkNF X0RJUn0vQ01ha2VMaXN0cy50eHQpCistCistICAgICNyZXNldCB0aGUgdmFsdWUgb2YgdGhlIGN1 cnJlbnQgZGlyZWN0b3JpZXMKKy0gICAgbGlzdChHRVQgX2NtYWtlX3NvdXJjZV9kaXJzIDAgQ01B S0VfQ1VSUkVOVF9TT1VSQ0VfRElSKQorLSAgICBsaXN0KEdFVCBfY21ha2VfYmluYXJ5X2RpcnMg MCBDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVIpCistCistICAgICNwb3AgdGhlIHN1YmRpciBuYW1l cyBvZiB0aGUgZnJvbnQgb2YgdGhlIGxpc3QKKy0gICAgbGlzdChSRU1PVkVfQVQgX2NtYWtlX3Nv dXJjZV9kaXJzIDApCistICAgIGxpc3QoUkVNT1ZFX0FUIF9jbWFrZV9iaW5hcnlfZGlycyAwKQor LWVuZG1hY3JvKEdSX0lOQ0xVREVfU1VCRElSRUNUT1JZKQorLQorLSMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor LSMgQ2hlY2sgaWYgYSBjb21waWxlciBmbGFnIHdvcmtzIGFuZCBjb25kaXRpb25hbGx5IHNldCBh IGNvbXBpbGUgZGVmaW5lLgorLSMgIC0gZmxhZyB0aGUgY29tcGlsZXIgZmxhZyB0byBjaGVjayBm b3IKKy0jICAtIGhhdmUgdGhlIHZhcmlhYmxlIHRvIHNldCB3aXRoIHJlc3VsdAorLSMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworLW1hY3JvKEdSX0FERF9DWFhfQ09NUElMRVJfRkxBR19JRl9BVkFJTEFCTEUgZmxh ZyBoYXZlKQorLSAgICBpbmNsdWRlKENoZWNrQ1hYQ29tcGlsZXJGbGFnKQorLSAgICBDSEVDS19D WFhfQ09NUElMRVJfRkxBRygke2ZsYWd9ICR7aGF2ZX0pCistICAgIGlmKCR7aGF2ZX0pCistICAg ICAgaWYoJHtDTUFLRV9WRVJTSU9OfSBWRVJTSU9OX0dSRUFURVIgIjIuOC40IikKKy0gICAgICAg IFNUUklORyhGSU5EICIke0NNQUtFX0NYWF9GTEFHU30iICIke2ZsYWd9IiBmbGFnX2R1cCkKKy0g ICAgICAgIGlmKCR7ZmxhZ19kdXB9IEVRVUFMIC0xKQorLSAgICAgICAgICBzZXQoQ01BS0VfQ1hY X0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gJHtmbGFnfSIpCistICAgICAgICAgIHNldChDTUFL RV9DX0ZMQUdTICIke0NNQUtFX0NfRkxBR1N9ICR7ZmxhZ30iKQorLSAgICAgICAgZW5kaWYoJHtm bGFnX2R1cH0gRVFVQUwgLTEpCistICAgICAgZW5kaWYoJHtDTUFLRV9WRVJTSU9OfSBWRVJTSU9O X0dSRUFURVIgIjIuOC40IikKKy0gICAgZW5kaWYoJHtoYXZlfSkKKy1lbmRtYWNybyhHUl9BRERf Q1hYX0NPTVBJTEVSX0ZMQUdfSUZfQVZBSUxBQkxFKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMg R2VuZXJhdGVzIHRoZSAubGEgbGlidG9vbCBmaWxlCistIyBUaGlzIGFwcGVhcnMgdG8gZ2VuZXJh dGUgbGlidG9vbCBmaWxlcyB0aGF0IGNhbm5vdCBiZSB1c2VkIGJ5IGF1dG8qLgorLSMgVXNhZ2Ug R1JfTElCVE9PTChUQVJHRVQgW3RhcmdldF0gREVTVElOQVRJT04gW2Rlc3RdKQorLSMgTm90aWNl OiB0aGVyZSBpcyBub3QgQ09NUE9ORU5UIG9wdGlvbiwgdGhlc2Ugd2lsbCBub3QgZ2V0IGRpc3Ry aWJ1dGVkLgorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWZ1bmN0aW9uKEdSX0xJQlRPT0wpCistICAgIGlm KE5PVCBERUZJTkVEIEdFTkVSQVRFX0xJQlRPT0wpCistICAgICAgICBzZXQoR0VORVJBVEVfTElC VE9PTCBPRkYpICNkaXNhYmxlZCBieSBkZWZhdWx0CistICAgIGVuZGlmKCkKKy0KKy0gICAgaWYo R0VORVJBVEVfTElCVE9PTCkKKy0gICAgICAgIGluY2x1ZGUoQ01ha2VQYXJzZUFyZ3VtZW50c0Nv cHkpCistICAgICAgICBDTUFLRV9QQVJTRV9BUkdVTUVOVFMoR1JfTElCVE9PTCAiIiAiVEFSR0VU O0RFU1RJTkFUSU9OIiAiIiAke0FSR059KQorLQorLSAgICAgICAgZmluZF9wcm9ncmFtKExJQlRP T0wgbGlidG9vbCkKKy0gICAgICAgIGlmKExJQlRPT0wpCistICAgICAgICAgICAgaW5jbHVkZShD TWFrZU1hY3JvTGlidG9vbEZpbGUpCistICAgICAgICAgICAgQ1JFQVRFX0xJQlRPT0xfRklMRSgk e0dSX0xJQlRPT0xfVEFSR0VUfSAvJHtHUl9MSUJUT09MX0RFU1RJTkFUSU9OfSkKKy0gICAgICAg IGVuZGlmKExJQlRPT0wpCistICAgIGVuZGlmKEdFTkVSQVRFX0xJQlRPT0wpCistCistZW5kZnVu Y3Rpb24oR1JfTElCVE9PTCkKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIERvIHN0YW5kYXJkIHRo aW5ncyB0byB0aGUgbGlicmFyeSB0YXJnZXQKKy0jIC0gc2V0IHRhcmdldCBwcm9wZXJ0aWVzCist IyAtIG1ha2UgaW5zdGFsbCBydWxlcworLSMgQWxzbyBoYW5kbGUgZ251cmFkaW8gY3VzdG9tIG5h bWluZyBjb252ZW50aW9ucyB3LyBleHRyYXMgbW9kZS4KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1mdW5j dGlvbihHUl9MSUJSQVJZX0ZPTyB0YXJnZXQpCistICAgICNwYXJzZSB0aGUgYXJndW1lbnRzIGZv ciBjb21wb25lbnQgbmFtZXMKKy0gICAgaW5jbHVkZShDTWFrZVBhcnNlQXJndW1lbnRzQ29weSkK Ky0gICAgQ01BS0VfUEFSU0VfQVJHVU1FTlRTKEdSX0xJQlJBUlkgIiIgIlJVTlRJTUVfQ09NUE9O RU5UO0RFVkVMX0NPTVBPTkVOVCIgIiIgJHtBUkdOfSkKKy0KKy0gICAgI3NldCBhZGRpdGlvbmFs IHRhcmdldCBwcm9wZXJ0aWVzCistICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke3RhcmdldH0g UFJPUEVSVElFUyBTT1ZFUlNJT04gJHtMSUJWRVJ9KQorLQorLSAgICAjaW5zdGFsbCB0aGUgZ2Vu ZXJhdGVkIGZpbGVzIGxpa2Ugc28uLi4KKy0gICAgaW5zdGFsbChUQVJHRVRTICR7dGFyZ2V0fQor LSAgICAgICAgTElCUkFSWSBERVNUSU5BVElPTiAke0dSX0xJQlJBUllfRElSfSBDT01QT05FTlQg JHtHUl9MSUJSQVJZX1JVTlRJTUVfQ09NUE9ORU5UfSAjIC5zby8uZHlsaWIgZmlsZQorLSAgICAg ICAgQVJDSElWRSBERVNUSU5BVElPTiAke0dSX0xJQlJBUllfRElSfSBDT01QT05FTlQgJHtHUl9M SUJSQVJZX0RFVkVMX0NPTVBPTkVOVH0gICAjIC5saWIgZmlsZQorLSAgICAgICAgUlVOVElNRSBE RVNUSU5BVElPTiAke0dSX1JVTlRJTUVfRElSfSBDT01QT05FTlQgJHtHUl9MSUJSQVJZX1JVTlRJ TUVfQ09NUE9ORU5UfSAjIC5kbGwgZmlsZQorLSAgICApCistCistICAgICNleHRyYXMgbW9kZSBl bmFibGVkIGF1dG9tYXRpY2FsbHkgb24gbGludXgKKy0gICAgaWYoTk9UIERFRklORUQgTElCUkFS WV9FWFRSQVMpCistICAgICAgICBzZXQoTElCUkFSWV9FWFRSQVMgJHtMSU5VWH0pCistICAgIGVu ZGlmKCkKKy0KKy0gICAgI3NwZWNpYWwgZXh0cmFzIG1vZGUgdG8gZW5hYmxlIGFsdGVybmF0aXZl IG5hbWluZyBjb252ZW50aW9ucworLSAgICBpZihMSUJSQVJZX0VYVFJBUykKKy0KKy0gICAgICAg ICNjcmVhdGUgLmxhIGZpbGUgYmVmb3JlIGNoYW5naW5nIHByb3BzCistICAgICAgICBHUl9MSUJU T09MKFRBUkdFVCAke3RhcmdldH0gREVTVElOQVRJT04gJHtHUl9MSUJSQVJZX0RJUn0pCistCist ICAgICAgICAjZ2l2ZSB0aGUgbGlicmFyeSBhIHNwZWNpYWwgbmFtZSB3aXRoIHVsdHJhLXplcm8g c292ZXJzaW9uCistICAgICAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHt0YXJnZXR9IFBST1BF UlRJRVMgT1VUUFVUX05BTUUgJHt0YXJnZXR9LSR7TElCVkVSfSBTT1ZFUlNJT04gIjAuMC4wIikK Ky0gICAgICAgIHNldCh0YXJnZXRfbmFtZSBsaWIke3RhcmdldH0tJHtMSUJWRVJ9LnNvLjAuMC4w KQorLQorLSAgICAgICAgI2N1c3RvbSBjb21tYW5kIHRvIGdlbmVyYXRlIHN5bWxpbmtzCistICAg ICAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCistICAgICAgICAgICAgVEFSR0VUICR7dGFyZ2V0fQor LSAgICAgICAgICAgIFBPU1RfQlVJTEQKKy0gICAgICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09N TUFORH0gLUUgY3JlYXRlX3N5bWxpbmsgJHt0YXJnZXRfbmFtZX0gJHtDTUFLRV9DVVJSRU5UX0JJ TkFSWV9ESVJ9L2xpYiR7dGFyZ2V0fS5zbworLSAgICAgICAgICAgIENPTU1BTkQgJHtDTUFLRV9D T01NQU5EfSAtRSBjcmVhdGVfc3ltbGluayAke3RhcmdldF9uYW1lfSAke0NNQUtFX0NVUlJFTlRf QklOQVJZX0RJUn0vbGliJHt0YXJnZXR9LSR7TElCVkVSfS5zby4wCistICAgICAgICAgICAgQ09N TUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIHRvdWNoICR7dGFyZ2V0X25hbWV9ICNzbyB0aGUgc3lt bGlua3MgcG9pbnQgdG8gc29tZXRoaW5nIHZhbGlkIHNvIGNtYWtlIDIuNiB3aWxsIGluc3RhbGwK Ky0gICAgICAgICkKKy0KKy0gICAgICAgICNhbmQgaW5zdGFsbCB0aGUgZXh0cmEgc3ltbGlua3MK Ky0gICAgICAgIGluc3RhbGwoCistICAgICAgICAgICAgRklMRVMKKy0gICAgICAgICAgICAke0NN QUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGliJHt0YXJnZXR9LnNvCistICAgICAgICAgICAgJHtD TUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2xpYiR7dGFyZ2V0fS0ke0xJQlZFUn0uc28uMAorLSAg ICAgICAgICAgIERFU1RJTkFUSU9OICR7R1JfTElCUkFSWV9ESVJ9IENPTVBPTkVOVCAke0dSX0xJ QlJBUllfUlVOVElNRV9DT01QT05FTlR9CistICAgICAgICApCistCistICAgIGVuZGlmKExJQlJB UllfRVhUUkFTKQorLWVuZGZ1bmN0aW9uKEdSX0xJQlJBUllfRk9PKQorLQorLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworLSMgQ3JlYXRlIGEgZHVtbXkgY3VzdG9tIGNvbW1hbmQgdGhhdCBkZXBlbmRzIG9uIG90 aGVyIHRhcmdldHMuCistIyBVc2FnZToKKy0jICAgR1JfR0VOX1RBUkdFVF9ERVBTKHVuaXF1ZV9u YW1lIHRhcmdldF9kZXBzIDx0YXJnZXQxPiA8dGFyZ2V0Mj4gLi4uKQorLSMgICBBRERfQ1VTVE9N X0NPTU1BTkQoPHRoZSB1c3VhbCBhcmdzPiAke3RhcmdldF9kZXBzfSkKKy0jCistIyBDdXN0b20g Y29tbWFuZCBjYW50IGRlcGVuZCBvbiB0YXJnZXRzLCBidXQgY2FuIGRlcGVuZCBvbiBleGVjdXRh YmxlcywKKy0jIGFuZCBleGVjdXRhYmxlcyBjYW4gZGVwZW5kIG9uIHRhcmdldHMuIFNvIHRoaXMg aXMgdGhlIHByb2Nlc3M6CistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistZnVuY3Rpb24oR1JfR0VOX1RBUkdF VF9ERVBTIG5hbWUgdmFyKQorLSAgICBmaWxlKAorLSAgICAgICAgV1JJVEUgJHtDTUFLRV9DVVJS RU5UX0JJTkFSWV9ESVJ9LyR7bmFtZX0uY3BwLmluCistICAgICAgICAiaW50IG1haW4odm9pZCl7 cmV0dXJuIDA7fVxuIgorLSAgICApCistICAgIGV4ZWN1dGVfcHJvY2VzcygKKy0gICAgICAgIENP TU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBjb3B5X2lmX2RpZmZlcmVudAorLSAgICAgICAgJHtD TUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7bmFtZX0uY3BwLmluCistICAgICAgICAke0NNQUtF X0NVUlJFTlRfQklOQVJZX0RJUn0vJHtuYW1lfS5jcHAKKy0gICAgKQorLSAgICBhZGRfZXhlY3V0 YWJsZSgke25hbWV9ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke25hbWV9LmNwcCkKKy0g ICAgaWYoQVJHTikKKy0gICAgICAgIGFkZF9kZXBlbmRlbmNpZXMoJHtuYW1lfSAke0FSR059KQor LSAgICBlbmRpZihBUkdOKQorLQorLSAgICBpZihDTUFLRV9DUk9TU0NPTVBJTElORykKKy0gICAg ICAgIHNldCgke3Zhcn0gIkRFUEVORFM7JHtuYW1lfSIgUEFSRU5UX1NDT1BFKSAjY2FudCBjYWxs IGNvbW1hbmQgd2hlbiBjcm9zcworLSAgICBlbHNlKCkKKy0gICAgICAgIHNldCgke3Zhcn0gIkRF UEVORFM7JHtuYW1lfTtDT01NQU5EOyR7bmFtZX0iIFBBUkVOVF9TQ09QRSkKKy0gICAgZW5kaWYo KQorLWVuZGZ1bmN0aW9uKEdSX0dFTl9UQVJHRVRfREVQUykKKy0KKy0jIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK Ky0jIENvbnRyb2wgdXNlIG9mIGdyX2xvZ2dlcgorLSMgVXNhZ2U6CistIyAgIEdSX0xPR0dJTkco KQorLSMKKy0jIFdpbGwgc2V0IEVOQUJMRV9HUl9MT0cgdG8gMSBieSBkZWZhdWx0LgorLSMgQ2Fu IG1hbnVhbGx5IHNldCB3aXRoIC1ERU5BQkxFX0dSX0xPRz0wfDEKKy0jIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK Ky1mdW5jdGlvbihHUl9MT0dHSU5HKQorLSAgZmluZF9wYWNrYWdlKExvZzRjcHApCistCistICBP UFRJT04oRU5BQkxFX0dSX0xPRyAiVXNlIGdyX2xvZ2dlciIgT04pCistICBpZihFTkFCTEVfR1Jf TE9HKQorLSAgICAjIElmIGdyX2xvZ2dlciBpcyBlbmFibGVkLCBtYWtlIGl0IHVzYWJsZQorLSAg ICBhZGRfZGVmaW5pdGlvbnMoIC1ERU5BQkxFX0dSX0xPRyApCistCistICAgICMgYWxzbyB0ZXN0 IExPRzRDUFA7IGlmIHdlIGhhdmUgaXQsIHVzZSB0aGlzIHZlcnNpb24gb2YgdGhlIGxvZ2dlcgor LSAgICAjIG90aGVyd2lzZSwgZGVmYXVsdCB0byB0aGUgc3Rkb3V0L3N0ZGVyciBtb2RlbC4KKy0g ICAgaWYoTE9HNENQUF9GT1VORCkKKy0gICAgICBTRVQoSEFWRV9MT0c0Q1BQIFRydWUgQ0FDSEUg SU5URVJOQUwgIiIgRk9SQ0UpCistICAgICAgYWRkX2RlZmluaXRpb25zKCAtREhBVkVfTE9HNENQ UCApCistICAgIGVsc2Uobm90IExPRzRDUFBfRk9VTkQpCistICAgICAgU0VUKEhBVkVfTE9HNENQ UCBGYWxzZSBDQUNIRSBJTlRFUk5BTCAiIiBGT1JDRSkKKy0gICAgICBTRVQoTE9HNENQUF9JTkNM VURFX0RJUlMgIiIgQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCistICAgICAgU0VUKExPRzRDUFBf TElCUkFSWV9ESVJTICIiIENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQorLSAgICAgIFNFVChMT0c0 Q1BQX0xJQlJBUklFUyAiIiBDQUNIRSBJTlRFUk5BTCAiIiBGT1JDRSkKKy0gICAgZW5kaWYoTE9H NENQUF9GT1VORCkKKy0KKy0gICAgU0VUKEVOQUJMRV9HUl9MT0cgJHtFTkFCTEVfR1JfTE9HfSBD QUNIRSBJTlRFUk5BTCAiIiBGT1JDRSkKKy0KKy0gIGVsc2UoRU5BQkxFX0dSX0xPRykKKy0gICAg U0VUKEhBVkVfTE9HNENQUCBGYWxzZSBDQUNIRSBJTlRFUk5BTCAiIiBGT1JDRSkKKy0gICAgU0VU KExPRzRDUFBfSU5DTFVERV9ESVJTICIiIENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQorLSAgICBT RVQoTE9HNENQUF9MSUJSQVJZX0RJUlMgIiIgQ0FDSEUgSU5URVJOQUwgIiIgRk9SQ0UpCistICAg IFNFVChMT0c0Q1BQX0xJQlJBUklFUyAiIiBDQUNIRSBJTlRFUk5BTCAiIiBGT1JDRSkKKy0gIGVu ZGlmKEVOQUJMRV9HUl9MT0cpCistCistICBtZXNzYWdlKFNUQVRVUyAiRU5BQkxFX0dSX0xPRyBz ZXQgdG8gJHtFTkFCTEVfR1JfTE9HfS4iKQorLSAgbWVzc2FnZShTVEFUVVMgIkhBVkVfTE9HNENQ UCBzZXQgdG8gJHtIQVZFX0xPRzRDUFB9LiIpCistICBtZXNzYWdlKFNUQVRVUyAiTE9HNENQUF9M SUJSQVJJRVMgc2V0IHRvICR7TE9HNENQUF9MSUJSQVJJRVN9LiIpCistCistZW5kZnVuY3Rpb24o R1JfTE9HR0lORykKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIFJ1biBHUkNDIHRvIGNvbXBpbGUg LmdyYyBmaWxlcyBpbnRvIC5weSBmaWxlcy4KKy0jCistIyBVc2FnZTogR1JDQyhmaWxlbmFtZSwg ZGlyZWN0b3J5KQorLSMgICAgLSBmaWxlbmFtZXM6IExpc3Qgb2YgZmlsZSBuYW1lIG9mIC5ncmMg ZmlsZQorLSMgICAgLSBkaXJlY3Rvcnk6IGRpcmVjdG9yeSBvZiBidWlsdCAucHkgZmlsZSAtIHVz dWFsbHkgaW4KKy0jICAgICAgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0K Ky0jICAgIC0gU2V0cyBQWUZJTEVTOiBvdXRwdXQgY29udmVydGVkIEdSQyBmaWxlIG5hbWVzIHRv IFB5dGhvbiBmaWxlcy4KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1mdW5jdGlvbihHUkNDKQorLSAgIyBF eHRyYWN0IGRpcmVjdG9yeSBmcm9tIGxpc3Qgb2YgYXJncywgcmVtb3ZlIGl0IGZvciB0aGUgbGlz dCBvZiBmaWxlbmFtZXMuCistICBsaXN0KEdFVCBBUkdWIC0xIGRpcmVjdG9yeSkKKy0gIGxpc3Qo UkVNT1ZFX0FUIEFSR1YgLTEpCistICBzZXQoZmlsZW5hbWVzICR7QVJHVn0pCistICBmaWxlKE1B S0VfRElSRUNUT1JZICR7ZGlyZWN0b3J5fSkKKy0KKy0gIFNFVChHUkNDX0NPTU1BTkQgJHtDTUFL RV9TT1VSQ0VfRElSfS9nci11dGlscy9weXRob24vZ3JjYykKKy0KKy0gICMgR1JDQyB1c2VzIHNv bWUgc3R1ZmYgaW4gZ3JjIGFuZCBnbnVyYWRpby1ydW50aW1lLCBzbyB3ZSBmb3JjZQorLSAgIyB0 aGUga25vd24gcGF0aHMgaGVyZQorLSAgbGlzdChBUFBFTkQgUFlUSE9OUEFUSFMKKy0gICAgJHtD TUFLRV9TT1VSQ0VfRElSfQorLSAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L2dudXJhZGlvLXJ1bnRp bWUvcHl0aG9uCistICAgICR7Q01BS0VfU09VUkNFX0RJUn0vZ251cmFkaW8tcnVudGltZS9saWIv c3dpZworLSAgICAke0NNQUtFX0JJTkFSWV9ESVJ9L2dudXJhZGlvLXJ1bnRpbWUvbGliL3N3aWcK Ky0gICAgKQorLQorLSAgaWYoV0lOMzIpCistICAgICNTV0lHIGdlbmVyYXRlcyB0aGUgcHl0aG9u IGxpYnJhcnkgZmlsZXMgaW50byBhIHN1YmRpcmVjdG9yeS4KKy0gICAgI1RoZXJlZm9yZSwgd2Ug bXVzdCBhcHBlbmQgdGhpcyBzdWJkaXJlY3RvcnkgaW50byBQWVRIT05QQVRILgorLSAgICAjT25s eSBkbyB0aGlzIGZvciB0aGUgcHl0aG9uIGRpcmVjdG9yaWVzIG1hdGNoaW5nIHRoZSBmb2xsb3dp bmc6CistICAgIGZvcmVhY2gocHlkaXIgJHtQWVRIT05QQVRIU30pCistICAgICAgZ2V0X2ZpbGVu YW1lX2NvbXBvbmVudChuYW1lICR7cHlkaXJ9IE5BTUUpCistICAgICAgaWYobmFtZSBNQVRDSEVT ICJeKHN3aWd8bGlifHNyYykkIikKKy0gICAgICAgIGxpc3QoQVBQRU5EIFBZVEhPTlBBVEhTICR7 cHlkaXJ9LyR7Q01BS0VfQlVJTERfVFlQRX0pCistICAgICAgZW5kaWYoKQorLSAgICBlbmRmb3Jl YWNoKHB5ZGlyKQorLSAgZW5kaWYoV0lOMzIpCistCistICBmaWxlKFRPX05BVElWRV9QQVRIICIk e1BZVEhPTlBBVEhTfSIgcHlwYXRoKQorLQorLSAgaWYoVU5JWCkKKy0gICAgbGlzdChBUFBFTkQg cHlwYXRoICIkUFlUSE9OUEFUSCIpCistICAgIHN0cmluZyhSRVBMQUNFICI7IiAiOiIgcHlwYXRo ICIke3B5cGF0aH0iKQorLSAgICBzZXQoRU5We1BZVEhPTlBBVEh9ICR7cHlwYXRofSkKKy0gIGVu ZGlmKFVOSVgpCistCistICBpZihXSU4zMikKKy0gICAgbGlzdChBUFBFTkQgcHlwYXRoICIlUFlU SE9OUEFUSCUiKQorLSAgICBzdHJpbmcoUkVQTEFDRSAiOyIgIlxcOyIgcHlwYXRoICIke3B5cGF0 aH0iKQorLSAgICAjbGlzdChBUFBFTkQgZW52aXJvbnMgIlBZVEhPTlBBVEg9JHtweXBhdGh9IikK Ky0gICAgc2V0KEVOVntQWVRIT05QQVRIfSAke3B5cGF0aH0pCistICBlbmRpZihXSU4zMikKKy0K Ky0gIGZvcmVhY2goZiAke2ZpbGVuYW1lc30pCistICAgIGV4ZWN1dGVfcHJvY2VzcygKKy0gICAg ICBDT01NQU5EICR7R1JDQ19DT01NQU5EfSAtZCAke2RpcmVjdG9yeX0gJHtmfQorLSAgICAgICkK Ky0gICAgc3RyaW5nKFJFUExBQ0UgIi5ncmMiICIucHkiIHB5ZmlsZSAiJHtmfSIpCistICAgIHN0 cmluZyhSRVBMQUNFICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0iICIke0NNQUtFX0NVUlJF TlRfQklOQVJZX0RJUn0iIHB5ZmlsZSAiJHtweWZpbGV9IikKKy0gICAgbGlzdChBUFBFTkQgcHlm aWxlcyAke3B5ZmlsZX0pCistICBlbmRmb3JlYWNoKGYpCistCistICBzZXQoUFlGSUxFUyAke3B5 ZmlsZXN9IFBBUkVOVF9TQ09QRSkKKy1lbmRmdW5jdGlvbihHUkNDKQorLQorLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworLSMgQ2hlY2sgaWYgSEFWRV9QVEhSRUFEX1NFVFNDSEVEUEFSQU0gYW5kIEhBVkVfU0NI RURfU0VUU0NIRURVTEVSCistIyAgc2hvdWxkIGJlIGRlZmluZWQKKy0jIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK Ky1tYWNybyhHUl9DSEVDS19MSU5VWF9TQ0hFRF9BVkFJTCkKKy1zZXQoQ01BS0VfUkVRVUlSRURf TElCUkFSSUVTIC1scHRocmVhZCkKKy0gICAgQ0hFQ0tfQ1hYX1NPVVJDRV9DT01QSUxFUygiCist ICAgICAgICAjaW5jbHVkZSA8cHRocmVhZC5oPgorLSAgICAgICAgaW50IG1haW4oKXsKKy0gICAg ICAgICAgICBwdGhyZWFkX3QgcHRocmVhZDsKKy0gICAgICAgICAgICBwdGhyZWFkX3NldHNjaGVk cGFyYW0ocHRocmVhZCwgIDAsIDApOworLSAgICAgICAgICAgIHJldHVybiAwOworLSAgICAgICAg fSAiIEhBVkVfUFRIUkVBRF9TRVRTQ0hFRFBBUkFNCistICAgICkKKy0gICAgR1JfQUREX0NPTkRf REVGKEhBVkVfUFRIUkVBRF9TRVRTQ0hFRFBBUkFNKQorLQorLSAgICBDSEVDS19DWFhfU09VUkNF X0NPTVBJTEVTKCIKKy0gICAgICAgICNpbmNsdWRlIDxzY2hlZC5oPgorLSAgICAgICAgaW50IG1h aW4oKXsKKy0gICAgICAgICAgICBwaWRfdCBwaWQ7CistICAgICAgICAgICAgc2NoZWRfc2V0c2No ZWR1bGVyKHBpZCwgMCwgMCk7CistICAgICAgICAgICAgcmV0dXJuIDA7CistICAgICAgICB9ICIg SEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIKKy0gICAgKQorLSAgICBHUl9BRERfQ09ORF9ERUYoSEFW RV9TQ0hFRF9TRVRTQ0hFRFVMRVIpCistZW5kbWFjcm8oR1JfQ0hFQ0tfTElOVVhfU0NIRURfQVZB SUwpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBNYWNyb3MgdG8gZ2VuZXJhdGUgc291cmNlIGFu ZCBoZWFkZXIgZmlsZXMgZnJvbSB0ZW1wbGF0ZQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLW1hY3JvKEdS X0VYUEFORF9YX0ggY29tcG9uZW50IHJvb3QpCistCistICBpbmNsdWRlKEdyUHl0aG9uKQorLQor LSAgZmlsZShXUklURSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2VuZXJhdGVfaGVscGVy LnB5CistIiMhJHtQWVRIT05fRVhFQ1VUQUJMRX0KKy0KKy1pbXBvcnQgc3lzLCBvcywgcmUKKy1z eXMucGF0aC5hcHBlbmQoJyR7R1JfUlVOVElNRV9QWVRIT05QQVRIfScpCistc3lzLnBhdGguYXBw ZW5kKCcke0NNQUtFX1NPVVJDRV9ESVJ9L3B5dGhvbicpCistb3MuZW52aXJvblsnc3JjZGlyJ10g PSAnJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9JworLW9zLmNoZGlyKCcke0NNQUtFX0NVUlJF TlRfQklOQVJZX0RJUn0nKQorLQorLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CistICAgIGlt cG9ydCBidWlsZF91dGlscworLSAgICByb290LCBpbnAgPSBzeXMuYXJndlsxOjNdCistICAgIGZv ciBzaWcgaW4gc3lzLmFyZ3ZbMzpdOgorLSAgICAgICAgbmFtZSA9IHJlLnN1YiAoJ1grJywgc2ln LCByb290KQorLSAgICAgICAgZCA9IGJ1aWxkX3V0aWxzLnN0YW5kYXJkX2RpY3QyKG5hbWUsIHNp ZywgJyR7Y29tcG9uZW50fScpCistICAgICAgICBidWlsZF91dGlscy5leHBhbmRfdGVtcGxhdGUo ZCwgaW5wKQorLSIpCistCistICAjbWFrZSBhIGxpc3Qgb2YgYWxsIHRoZSBnZW5lcmF0ZWQgaGVh ZGVycworLSAgdW5zZXQoZXhwYW5kZWRfZmlsZXNfaCkKKy0gIGZvcmVhY2goc2lnICR7QVJHTn0p CistICAgIHN0cmluZyhSRUdFWCBSRVBMQUNFICJYKyIgJHtzaWd9IG5hbWUgJHtyb290fSkKKy0g ICAgbGlzdChBUFBFTkQgZXhwYW5kZWRfZmlsZXNfaCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJ Un0vJHtuYW1lfS5oKQorLSAgZW5kZm9yZWFjaChzaWcpCistICB1bnNldChuYW1lKQorLQorLSAg I2NyZWF0ZSBhIGNvbW1hbmQgdG8gZ2VuZXJhdGUgdGhlIGhlYWRlcnMKKy0gIGFkZF9jdXN0b21f Y29tbWFuZCgKKy0gICAgT1VUUFVUICR7ZXhwYW5kZWRfZmlsZXNfaH0KKy0gICAgREVQRU5EUyAk e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vJHtyb290fS5oLnQKKy0gICAgQ09NTUFORCAke1BZ VEhPTl9FWEVDVVRBQkxFfSAke1BZVEhPTl9EQVNIX0J9CistICAgICR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfS9nZW5lcmF0ZV9oZWxwZXIucHkKKy0gICAgJHtyb290fSAke3Jvb3R9LmgudCAk e0FSR059CistICApCistCistICAjaW5zdGFsbCBydWxlcyBmb3IgdGhlIGdlbmVyYXRlZCBoZWFk ZXJzCistICBsaXN0KEFQUEVORCBnZW5lcmF0ZWRfaW5jbHVkZXMgJHtleHBhbmRlZF9maWxlc19o fSkKKy0KKy1lbmRtYWNybyhHUl9FWFBBTkRfWF9IKQorLQorLW1hY3JvKEdSX0VYUEFORF9YX0ND X0ggY29tcG9uZW50IHJvb3QpCistCistICBpbmNsdWRlKEdyUHl0aG9uKQorLQorLSAgZmlsZShX UklURSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2VuZXJhdGVfaGVscGVyLnB5CistIiMh JHtQWVRIT05fRVhFQ1VUQUJMRX0KKy0KKy1pbXBvcnQgc3lzLCBvcywgcmUKKy1zeXMucGF0aC5h cHBlbmQoJyR7R1JfUlVOVElNRV9QWVRIT05QQVRIfScpCistc3lzLnBhdGguYXBwZW5kKCcke0NN QUtFX1NPVVJDRV9ESVJ9L3B5dGhvbicpCistb3MuZW52aXJvblsnc3JjZGlyJ10gPSAnJHtDTUFL RV9DVVJSRU5UX1NPVVJDRV9ESVJ9JworLW9zLmNoZGlyKCcke0NNQUtFX0NVUlJFTlRfQklOQVJZ X0RJUn0nKQorLQorLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CistICAgIGltcG9ydCBidWls ZF91dGlscworLSAgICByb290LCBpbnAgPSBzeXMuYXJndlsxOjNdCistICAgIGZvciBzaWcgaW4g c3lzLmFyZ3ZbMzpdOgorLSAgICAgICAgbmFtZSA9IHJlLnN1YiAoJ1grJywgc2lnLCByb290KQor LSAgICAgICAgZCA9IGJ1aWxkX3V0aWxzLnN0YW5kYXJkX2ltcGxfZGljdDIobmFtZSwgc2lnLCAn JHtjb21wb25lbnR9JykKKy0gICAgICAgIGJ1aWxkX3V0aWxzLmV4cGFuZF90ZW1wbGF0ZShkLCBp bnApCistIikKKy0KKy0gICNtYWtlIGEgbGlzdCBvZiBhbGwgdGhlIGdlbmVyYXRlZCBmaWxlcwor LSAgdW5zZXQoZXhwYW5kZWRfZmlsZXNfY2MpCistICB1bnNldChleHBhbmRlZF9maWxlc19oKQor LSAgZm9yZWFjaChzaWcgJHtBUkdOfSkKKy0gICAgc3RyaW5nKFJFR0VYIFJFUExBQ0UgIlgrIiAk e3NpZ30gbmFtZSAke3Jvb3R9KQorLSAgICBsaXN0KEFQUEVORCBleHBhbmRlZF9maWxlc19jYyAk e0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vJHtuYW1lfS5jYykKKy0gICAgbGlzdChBUFBFTkQg ZXhwYW5kZWRfZmlsZXNfaCAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7bmFtZX0uaCkK Ky0gIGVuZGZvcmVhY2goc2lnKQorLSAgdW5zZXQobmFtZSkKKy0KKy0gICNjcmVhdGUgYSBjb21t YW5kIHRvIGdlbmVyYXRlIHRoZSBzb3VyY2UgZmlsZXMKKy0gIGFkZF9jdXN0b21fY29tbWFuZCgK Ky0gICAgT1VUUFVUICR7ZXhwYW5kZWRfZmlsZXNfY2N9CistICAgIERFUEVORFMgJHtDTUFLRV9D VVJSRU5UX1NPVVJDRV9ESVJ9LyR7cm9vdH0uY2MudAorLSAgICBDT01NQU5EICR7UFlUSE9OX0VY RUNVVEFCTEV9ICR7UFlUSE9OX0RBU0hfQn0KKy0gICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9E SVJ9L2dlbmVyYXRlX2hlbHBlci5weQorLSAgICAke3Jvb3R9ICR7cm9vdH0uY2MudCAke0FSR059 CistICApCistCistICAjY3JlYXRlIGEgY29tbWFuZCB0byBnZW5lcmF0ZSB0aGUgaGVhZGVyIGZp bGVzCistICBhZGRfY3VzdG9tX2NvbW1hbmQoCistICAgIE9VVFBVVCAke2V4cGFuZGVkX2ZpbGVz X2h9CistICAgIERFUEVORFMgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7cm9vdH0uaC50 CistICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtQWVRIT05fREFTSF9CfQorLSAg ICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2VuZXJhdGVfaGVscGVyLnB5CistICAgICR7 cm9vdH0gJHtyb290fS5oLnQgJHtBUkdOfQorLSAgKQorLQorLSAgI21ha2Ugc291cmNlIGZpbGVz IGRlcGVuZHMgb24gaGVhZGVycyB0byBmb3JjZSBnZW5lcmF0aW9uCistICBzZXRfc291cmNlX2Zp bGVzX3Byb3BlcnRpZXMoJHtleHBhbmRlZF9maWxlc19jY30KKy0gICAgUFJPUEVSVElFUyBPQkpF Q1RfREVQRU5EUyAiJHtleHBhbmRlZF9maWxlc19ofSIKKy0gICkKKy0KKy0gICNpbnN0YWxsIHJ1 bGVzIGZvciB0aGUgZ2VuZXJhdGVkIGZpbGVzCistICBsaXN0KEFQUEVORCBnZW5lcmF0ZWRfc291 cmNlcyAke2V4cGFuZGVkX2ZpbGVzX2NjfSkKKy0gIGxpc3QoQVBQRU5EIGdlbmVyYXRlZF9oZWFk ZXJzICR7ZXhwYW5kZWRfZmlsZXNfaH0pCistCistZW5kbWFjcm8oR1JfRVhQQU5EX1hfQ0NfSCkK Ky0KKy1tYWNybyhHUl9FWFBBTkRfWF9DQ19IX0lNUEwgY29tcG9uZW50IHJvb3QpCistCistICBp bmNsdWRlKEdyUHl0aG9uKQorLQorLSAgZmlsZShXUklURSAke0NNQUtFX0NVUlJFTlRfQklOQVJZ X0RJUn0vZ2VuZXJhdGVfaGVscGVyLnB5CistIiMhJHtQWVRIT05fRVhFQ1VUQUJMRX0KKy0KKy1p bXBvcnQgc3lzLCBvcywgcmUKKy1zeXMucGF0aC5hcHBlbmQoJyR7R1JfUlVOVElNRV9QWVRIT05Q QVRIfScpCistc3lzLnBhdGguYXBwZW5kKCcke0NNQUtFX1NPVVJDRV9ESVJ9L3B5dGhvbicpCist b3MuZW52aXJvblsnc3JjZGlyJ10gPSAnJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9JworLW9z LmNoZGlyKCcke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0nKQorLQorLWlmIF9fbmFtZV9fID09 ICdfX21haW5fXyc6CistICAgIGltcG9ydCBidWlsZF91dGlscworLSAgICByb290LCBpbnAgPSBz eXMuYXJndlsxOjNdCistICAgIGZvciBzaWcgaW4gc3lzLmFyZ3ZbMzpdOgorLSAgICAgICAgbmFt ZSA9IHJlLnN1YiAoJ1grJywgc2lnLCByb290KQorLSAgICAgICAgZCA9IGJ1aWxkX3V0aWxzLnN0 YW5kYXJkX2RpY3QobmFtZSwgc2lnLCAnJHtjb21wb25lbnR9JykKKy0gICAgICAgIGJ1aWxkX3V0 aWxzLmV4cGFuZF90ZW1wbGF0ZShkLCBpbnAsICdfaW1wbCcpCistIikKKy0KKy0gICNtYWtlIGEg bGlzdCBvZiBhbGwgdGhlIGdlbmVyYXRlZCBmaWxlcworLSAgdW5zZXQoZXhwYW5kZWRfZmlsZXNf Y2NfaW1wbCkKKy0gIHVuc2V0KGV4cGFuZGVkX2ZpbGVzX2hfaW1wbCkKKy0gIHVuc2V0KGV4cGFu ZGVkX2ZpbGVzX2gpCistICBmb3JlYWNoKHNpZyAke0FSR059KQorLSAgICBzdHJpbmcoUkVHRVgg UkVQTEFDRSAiWCsiICR7c2lnfSBuYW1lICR7cm9vdH0pCistICAgIGxpc3QoQVBQRU5EIGV4cGFu ZGVkX2ZpbGVzX2NjX2ltcGwgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7bmFtZX1faW1w bC5jYykKKy0gICAgbGlzdChBUFBFTkQgZXhwYW5kZWRfZmlsZXNfaF9pbXBsICR7Q01BS0VfQ1VS UkVOVF9CSU5BUllfRElSfS8ke25hbWV9X2ltcGwuaCkKKy0gICAgbGlzdChBUFBFTkQgZXhwYW5k ZWRfZmlsZXNfaCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vLi4vaW5jbHVkZS9nbnVyYWRp by8ke2NvbXBvbmVudH0vJHtuYW1lfS5oKQorLSAgZW5kZm9yZWFjaChzaWcpCistICB1bnNldChu YW1lKQorLQorLSAgI2NyZWF0ZSBhIGNvbW1hbmQgdG8gZ2VuZXJhdGUgdGhlIF9pbXBsLmNjIGZp bGVzCistICBhZGRfY3VzdG9tX2NvbW1hbmQoCistICAgIE9VVFBVVCAke2V4cGFuZGVkX2ZpbGVz X2NjX2ltcGx9CistICAgIERFUEVORFMgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7cm9v dH1faW1wbC5jYy50CistICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtQWVRIT05f REFTSF9CfQorLSAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2VuZXJhdGVfaGVscGVy LnB5CistICAgICR7cm9vdH0gJHtyb290fV9pbXBsLmNjLnQgJHtBUkdOfQorLSAgKQorLQorLSAg I2NyZWF0ZSBhIGNvbW1hbmQgdG8gZ2VuZXJhdGUgdGhlIF9pbXBsLmggZmlsZXMKKy0gIGFkZF9j dXN0b21fY29tbWFuZCgKKy0gICAgT1VUUFVUICR7ZXhwYW5kZWRfZmlsZXNfaF9pbXBsfQorLSAg ICBERVBFTkRTICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8ke3Jvb3R9X2ltcGwuaC50Cist ICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtQWVRIT05fREFTSF9CfQorLSAgICAk e0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2VuZXJhdGVfaGVscGVyLnB5CistICAgICR7cm9v dH0gJHtyb290fV9pbXBsLmgudCAke0FSR059CistICApCistCistICAjbWFrZSBfaW1wbC5jYyBz b3VyY2UgZmlsZXMgZGVwZW5kIG9uIF9pbXBsLmggdG8gZm9yY2UgZ2VuZXJhdGlvbgorLSAgc2V0 X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7ZXhwYW5kZWRfZmlsZXNfY2NfaW1wbH0KKy0gICAg UFJPUEVSVElFUyBPQkpFQ1RfREVQRU5EUyAiJHtleHBhbmRlZF9maWxlc19oX2ltcGx9IgorLSAg KQorLQorLSAgI21ha2UgX2ltcGwuaCBzb3VyY2UgZmlsZXMgZGVwZW5kIG9uIGhlYWRlcnMgdG8g Zm9yY2UgZ2VuZXJhdGlvbgorLSAgc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7ZXhwYW5k ZWRfZmlsZXNfaF9pbXBsfQorLSAgICBQUk9QRVJUSUVTIE9CSkVDVF9ERVBFTkRTICIke2V4cGFu ZGVkX2ZpbGVzX2h9IgorLSAgKQorLQorLSAgI2luc3RhbGwgcnVsZXMgZm9yIHRoZSBnZW5lcmF0 ZWQgZmlsZXMKKy0gIGxpc3QoQVBQRU5EIGdlbmVyYXRlZF9zb3VyY2VzICR7ZXhwYW5kZWRfZmls ZXNfY2NfaW1wbH0pCistICBsaXN0KEFQUEVORCBnZW5lcmF0ZWRfaGVhZGVycyAke2V4cGFuZGVk X2ZpbGVzX2hfaW1wbH0pCistCistZW5kbWFjcm8oR1JfRVhQQU5EX1hfQ0NfSF9JTVBMKQorZGlm ZiAtLWdpdCBhL2NtYWtlL01vZHVsZXMvR3JQbGF0Zm9ybS5jbWFrZSBiL2NtYWtlL01vZHVsZXMv R3JQbGF0Zm9ybS5jbWFrZQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMGE1M2Qw Li4wMDAwMDAwCistLS0gY21ha2UvTW9kdWxlcy9HclBsYXRmb3JtLmNtYWtlCisrKysgL2Rldi9u dWxsCitAQCAtMSw2MiArMCwwIEBACistIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKy0jCistIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgUmFkaW8KKy0j CistIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQorLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikKKy0jIGFueSBsYXRl ciB2ZXJzaW9uLgorLSMKKy0jIEdOVSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0jIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy0jIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistIworLSMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0jIGFs b25nIHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUg dG8KKy0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0 cmVldCwKKy0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorLQorLWlmKERFRklORUQgX19J TkNMVURFRF9HUl9QTEFURk9STV9DTUFLRSkKKy0gICAgcmV0dXJuKCkKKy1lbmRpZigpCistc2V0 KF9fSU5DTFVERURfR1JfUExBVEZPUk1fQ01BS0UgVFJVRSkKKy0KKy0jIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK Ky0jIFNldHVwIGFkZGl0aW9uYWwgZGVmaW5lcyBmb3IgT1MgdHlwZXMKKy0jIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKy1pZihDTUFLRV9TWVNURU1fTkFNRSBTVFJFUVVBTCAiTGludXgiKQorLSAgICBzZXQoTElO VVggVFJVRSkKKy1lbmRpZigpCistCistaWYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5HIEFORCBM SU5VWCBBTkQgRVhJU1RTICIvZXRjL2RlYmlhbl92ZXJzaW9uIikKKy0gICAgc2V0KERFQklBTiBU UlVFKQorLWVuZGlmKCkKKy0KKy1pZihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIExJTlVY IEFORCBFWElTVFMgIi9ldGMvcmVkaGF0LXJlbGVhc2UiKQorLSAgICBzZXQoUkVESEFUIFRSVUUp CistZW5kaWYoKQorLQorLWlmKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORyBBTkQgTElOVVggQU5E IEVYSVNUUyAiL2V0Yy9zbGFja3dhcmUtdmVyc2lvbiIpCistICAgIHNldChTTEFDS1dBUkUgVFJV RSkKKy1lbmRpZigpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyB3aGVuIHRoZSBsaWJyYXJ5IHN1 ZmZpeCBzaG91bGQgYmUgNjQgKGFwcGxpZXMgdG8gcmVkaGF0IGxpbnV4IGZhbWlseSkKKy0jIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKy1pZiAoUkVESEFUIE9SIFNMQUNLV0FSRSkKKy0gICAgc2V0KExJQjY0X0NP TlZFTlRJT04gVFJVRSkKKy1lbmRpZigpCistCistaWYoTk9UIERFRklORUQgTElCX1NVRkZJWCBB TkQgTElCNjRfQ09OVkVOVElPTiBBTkQgQ01BS0VfU1lTVEVNX1BST0NFU1NPUiBNQVRDSEVTICI2 NCQiKQorLSAgICBzZXQoTElCX1NVRkZJWCA2NCkKKy1lbmRpZigpCistCistIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCistIyBEZXRlY3QgL2xpYiB2ZXJzdXMgL2xpYjY0CistIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistaWYg KENNQUtFX0lOU1RBTExfTElCRElSIE1BVENIRVMgbGliNjQpCistICAgIHNldChMSUJfU1VGRklY IDY0KQorLWVuZGlmKCkKKy0KKy1zZXQoTElCX1NVRkZJWCAke0xJQl9TVUZGSVh9IENBQ0hFIFNU UklORyAibGliIGRpcmVjdG9yeSBzdWZmaXgiKQorZGlmZiAtLWdpdCBhL2NtYWtlL01vZHVsZXMv R3JQeXRob24uY21ha2UgYi9jbWFrZS9Nb2R1bGVzL0dyUHl0aG9uLmNtYWtlCitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDA2ZTA2MWUuLjAwMDAwMDAKKy0tLSBjbWFrZS9Nb2R1bGVz L0dyUHl0aG9uLmNtYWtlCisrKysgL2Rldi9udWxsCitAQCAtMSwyNDEgKzAsMCBAQAorLSMgQ29w eXJpZ2h0IDIwMTAtMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0jCistIyBU aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgUmFkaW8KKy0jCistIyBHTlUgUmFkaW8gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKy0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMs IG9yIChhdCB5b3VyIG9wdGlvbikKKy0jIGFueSBsYXRlciB2ZXJzaW9uLgorLSMKKy0jIEdOVSBS YWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor LSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKy0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKy0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCistIworLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0jIGFsb25nIHdpdGggR05VIFJhZGlvOyBzZWUg dGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8KKy0jIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwKKy0jIEJvc3RvbiwgTUEgMDIx MTAtMTMwMSwgVVNBLgorLQorLWlmKERFRklORUQgX19JTkNMVURFRF9HUl9QWVRIT05fQ01BS0Up CistICAgIHJldHVybigpCistZW5kaWYoKQorLXNldChfX0lOQ0xVREVEX0dSX1BZVEhPTl9DTUFL RSBUUlVFKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgU2V0dXAgdGhlIHB5dGhvbiBpbnRlcnBy ZXRlcjoKKy0jIFRoaXMgYWxsb3dzIHRoZSB1c2VyIHRvIHNwZWNpZnkgYSBzcGVjaWZpYyBpbnRl cnByZXRlciwKKy0jIG9yIGZpbmRzIHRoZSBpbnRlcnByZXRlciB2aWEgdGhlIGJ1aWx0LWluIGNt YWtlIG1vZHVsZS4KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jdGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8g b3ZlcnJpZGUgUFlUSE9OX0VYRUNVVEFCTEUKKy1pZihQWVRIT05fRVhFQ1VUQUJMRSkKKy0KKy0g ICAgc2V0KFBZVEhPTklOVEVSUF9GT1VORCBUUlVFKQorLQorLSNvdGhlcndpc2UgaWYgbm90IHNl dCwgdHJ5IHRvIGF1dG9tYXRpY2FsbHkgZmluZCBpdAorLWVsc2UoUFlUSE9OX0VYRUNVVEFCTEUp CistCistICAgICN1c2UgdGhlIGJ1aWx0LWluIGZpbmQgc2NyaXB0CistICAgIGZpbmRfcGFja2Fn ZShQeXRob25JbnRlcnAgMikKKy0KKy0gICAgI2FuZCBpZiB0aGF0IGZhaWxzIHVzZSB0aGUgZmlu ZCBwcm9ncmFtIHJvdXRpbmUKKy0gICAgaWYoTk9UIFBZVEhPTklOVEVSUF9GT1VORCkKKy0gICAg ICAgIGZpbmRfcHJvZ3JhbShQWVRIT05fRVhFQ1VUQUJMRSBOQU1FUyBweXRob24gcHl0aG9uMiBw eXRob24yLjcgcHl0aG9uMi42IHB5dGhvbjIuNSkKKy0gICAgICAgIGlmKFBZVEhPTl9FWEVDVVRB QkxFKQorLSAgICAgICAgICAgIHNldChQWVRIT05JTlRFUlBfRk9VTkQgVFJVRSkKKy0gICAgICAg IGVuZGlmKFBZVEhPTl9FWEVDVVRBQkxFKQorLSAgICBlbmRpZihOT1QgUFlUSE9OSU5URVJQX0ZP VU5EKQorLQorLWVuZGlmKFBZVEhPTl9FWEVDVVRBQkxFKQorLQorLWlmIChDTUFLRV9DUk9TU0NP TVBJTElORykKKy0gICAgc2V0KFFBX1BZVEhPTl9FWEVDVVRBQkxFICIvdXNyL2Jpbi9weXRob24i KQorLWVsc2UgKENNQUtFX0NST1NTQ09NUElMSU5HKQorLSAgICBzZXQoUUFfUFlUSE9OX0VYRUNV VEFCTEUgJHtQWVRIT05fRVhFQ1VUQUJMRX0pCistZW5kaWYoQ01BS0VfQ1JPU1NDT01QSUxJTkcp CistCistI21ha2UgdGhlIHBhdGggdG8gdGhlIGV4ZWN1dGFibGUgYXBwZWFyIGluIHRoZSBjbWFr ZSBndWkKKy1zZXQoUFlUSE9OX0VYRUNVVEFCTEUgJHtQWVRIT05fRVhFQ1VUQUJMRX0gQ0FDSEUg RklMRVBBVEggInB5dGhvbiBpbnRlcnByZXRlciIpCistc2V0KFFBX1BZVEhPTl9FWEVDVVRBQkxF ICR7UUFfUFlUSE9OX0VYRUNVVEFCTEV9IENBQ0hFIEZJTEVQQVRIICJweXRob24gaW50ZXJwcmV0 ZXIgZm9yIFFBIHRlc3RzIikKKy0KKy0jbWFrZSBzdXJlIHdlIGNhbiB1c2UgLUIgd2l0aCBweXRo b24gKGludHJvZHVjZWQgaW4gMi42KQorLWlmKFBZVEhPTl9FWEVDVVRBQkxFKQorLSAgICBleGVj dXRlX3Byb2Nlc3MoCistICAgICAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1CIC1j ICIiCistICAgICAgICBPVVRQVVRfUVVJRVQgRVJST1JfUVVJRVQKKy0gICAgICAgIFJFU1VMVF9W QVJJQUJMRSBQWVRIT05fSEFTX0RBU0hfQl9SRVNVTFQKKy0gICAgKQorLSAgICBpZihQWVRIT05f SEFTX0RBU0hfQl9SRVNVTFQgRVFVQUwgMCkKKy0gICAgICAgIHNldChQWVRIT05fREFTSF9CICIt QiIpCistICAgIGVuZGlmKCkKKy1lbmRpZihQWVRIT05fRVhFQ1VUQUJMRSkKKy0KKy0jIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKy0jIENoZWNrIGZvciB0aGUgZXhpc3RlbmNlIG9mIGEgcHl0aG9uIG1vZHVsZToK Ky0jIC0gZGVzYyBhIHN0cmluZyBkZXNjcmlwdGlvbiBvZiB0aGUgY2hlY2sKKy0jIC0gbW9kIHRo ZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gaW1wb3J0CistIyAtIGNtZCBhbiBhZGRpdGlvbmFsIGNv bW1hbmQgdG8gcnVuCistIyAtIGhhdmUgdGhlIHJlc3VsdCB2YXJpYWJsZSB0byBzZXQKKy0jIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKy1tYWNybyhHUl9QWVRIT05fQ0hFQ0tfTU9EVUxFIGRlc2MgbW9kIGNtZCBo YXZlKQorLSAgICBtZXNzYWdlKFNUQVRVUyAiIikKKy0gICAgbWVzc2FnZShTVEFUVVMgIlB5dGhv biBjaGVja2luZyBmb3IgJHtkZXNjfSIpCistICAgIGV4ZWN1dGVfcHJvY2VzcygKKy0gICAgICAg IENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgIgorLSMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCistdHJ5OgorLSAgICBpbXBvcnQgJHttb2R9CistICAgIGFz c2VydCAke2NtZH0KKy1leGNlcHQgSW1wb3J0RXJyb3IsIEFzc2VydGlvbkVycm9yOiBleGl0KC0x KQorLWV4Y2VwdDogcGFzcworLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIgorLSAgICAgICAgUkVTVUxUX1ZBUklBQkxFICR7aGF2ZX0KKy0gICAgKQorLSAgICBpZigk e2hhdmV9IEVRVUFMIDApCistICAgICAgICBtZXNzYWdlKFNUQVRVUyAiUHl0aG9uIGNoZWNraW5n IGZvciAke2Rlc2N9IC0gZm91bmQiKQorLSAgICAgICAgc2V0KCR7aGF2ZX0gVFJVRSkKKy0gICAg ZWxzZSgke2hhdmV9IEVRVUFMIDApCistICAgICAgICBtZXNzYWdlKFNUQVRVUyAiUHl0aG9uIGNo ZWNraW5nIGZvciAke2Rlc2N9IC0gbm90IGZvdW5kIikKKy0gICAgICAgIHNldCgke2hhdmV9IEZB TFNFKQorLSAgICBlbmRpZigke2hhdmV9IEVRVUFMIDApCistZW5kbWFjcm8oR1JfUFlUSE9OX0NI RUNLX01PRFVMRSkKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIFNldHMgdGhlIHB5dGhvbiBpbnN0 YWxsYXRpb24gZGlyZWN0b3J5IEdSX1BZVEhPTl9ESVIKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1pZihO T1QgREVGSU5FRCBHUl9QWVRIT05fRElSKQorLWV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7UFlU SE9OX0VYRUNVVEFCTEV9IC1jICIKKy1mcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCist cHJpbnQgc3lzY29uZmlnLmdldF9weXRob25fbGliKHBsYXRfc3BlY2lmaWM9VHJ1ZSwgcHJlZml4 PScnKQorLSIgT1VUUFVUX1ZBUklBQkxFIEdSX1BZVEhPTl9ESVIgT1VUUFVUX1NUUklQX1RSQUlM SU5HX1dISVRFU1BBQ0UKKy0pCistZW5kaWYoKQorLWZpbGUoVE9fQ01BS0VfUEFUSCAke0dSX1BZ VEhPTl9ESVJ9IEdSX1BZVEhPTl9ESVIpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBDcmVhdGUg YW4gYWx3YXlzLWJ1aWx0IHRhcmdldCB3aXRoIGEgdW5pcXVlIG5hbWUKKy0jIFVzYWdlOiBHUl9V TklRVUVfVEFSR0VUKDxkZXNjcmlwdGlvbj4gPGRlcGVuZGVuY2llcyBsaXN0PikKKy0jIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKy1mdW5jdGlvbihHUl9VTklRVUVfVEFSR0VUIGRlc2MpCistICAgIGZpbGUoUkVM QVRJVkVfUEFUSCByZWxkaXIgJHtDTUFLRV9CSU5BUllfRElSfSAke0NNQUtFX0NVUlJFTlRfQklO QVJZX0RJUn0pCistICAgIGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFC TEV9IC1jICJpbXBvcnQgcmUsIGhhc2hsaWIKKy11bmlxdWUgPSBoYXNobGliLm1kNSgnJHtyZWxk aXJ9JHtBUkdOfScpLmhleGRpZ2VzdCgpWzo1XQorLXByaW50KHJlLnN1YignXFxXJywgJ18nLCAn JHtkZXNjfSAke3JlbGRpcn0gJyArIHVuaXF1ZSkpIgorLSAgICBPVVRQVVRfVkFSSUFCTEUgX3Rh cmdldCBPVVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJVEVTUEFDRSkKKy0gICAgYWRkX2N1c3RvbV90 YXJnZXQoJHtfdGFyZ2V0fSBBTEwgREVQRU5EUyAke0FSR059KQorLWVuZGZ1bmN0aW9uKEdSX1VO SVFVRV9UQVJHRVQpCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBJbnN0YWxsIHB5dGhvbiBzb3Vy Y2VzIChhbHNvIGJ1aWxkcyBhbmQgaW5zdGFsbHMgYnl0ZS1jb21waWxlZCBweXRob24pCistIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCistZnVuY3Rpb24oR1JfUFlUSE9OX0lOU1RBTEwpCistICAgIGluY2x1ZGUo Q01ha2VQYXJzZUFyZ3VtZW50c0NvcHkpCistICAgIENNQUtFX1BBUlNFX0FSR1VNRU5UUyhHUl9Q WVRIT05fSU5TVEFMTCAiIiAiREVTVElOQVRJT047Q09NUE9ORU5UIiAiRklMRVM7UFJPR1JBTVMi ICR7QVJHTn0pCistCistICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistICAgIGlmKEdSX1BZVEhPTl9JTlNUQUxM X0ZJTEVTKQorLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSAgICAgICAgaW5zdGFsbCgke0FSR059KSAjaW5z dGFsbHMgcmVndWxhciBweXRob24gZmlsZXMKKy0KKy0gICAgICAgICNjcmVhdGUgYSBsaXN0IG9m IGFsbCBnZW5lcmF0ZWQgZmlsZXMKKy0gICAgICAgIHVuc2V0KHB5c3JjZmlsZXMpCistICAgICAg ICB1bnNldChweWNmaWxlcykKKy0gICAgICAgIHVuc2V0KHB5b2ZpbGVzKQorLSAgICAgICAgZm9y ZWFjaChweWZpbGUgJHtHUl9QWVRIT05fSU5TVEFMTF9GSUxFU30pCistICAgICAgICAgICAgZ2V0 X2ZpbGVuYW1lX2NvbXBvbmVudChweWZpbGUgJHtweWZpbGV9IEFCU09MVVRFKQorLSAgICAgICAg ICAgIGxpc3QoQVBQRU5EIHB5c3JjZmlsZXMgJHtweWZpbGV9KQorLQorLSAgICAgICAgICAgICNk ZXRlcm1pbmUgaWYgdGhpcyBmaWxlIGlzIGluIHRoZSBzb3VyY2Ugb3IgYmluYXJ5IGRpcmVjdG9y eQorLSAgICAgICAgICAgIGZpbGUoUkVMQVRJVkVfUEFUSCBzb3VyY2VfcmVsX3BhdGggJHtDTUFL RV9DVVJSRU5UX1NPVVJDRV9ESVJ9ICR7cHlmaWxlfSkKKy0gICAgICAgICAgICBzdHJpbmcoTEVO R1RIICIke3NvdXJjZV9yZWxfcGF0aH0iIHNvdXJjZV9yZWxfcGF0aF9sZW4pCistICAgICAgICAg ICAgZmlsZShSRUxBVElWRV9QQVRIIGJpbmFyeV9yZWxfcGF0aCAke0NNQUtFX0NVUlJFTlRfQklO QVJZX0RJUn0gJHtweWZpbGV9KQorLSAgICAgICAgICAgIHN0cmluZyhMRU5HVEggIiR7YmluYXJ5 X3JlbF9wYXRofSIgYmluYXJ5X3JlbF9wYXRoX2xlbikKKy0KKy0gICAgICAgICAgICAjYW5kIHNl dCB0aGUgZ2VuZXJhdGVkIHBhdGggYXBwcm9wcmlhdGVseQorLSAgICAgICAgICAgIGlmKCR7c291 cmNlX3JlbF9wYXRoX2xlbn0gR1JFQVRFUiAke2JpbmFyeV9yZWxfcGF0aF9sZW59KQorLSAgICAg ICAgICAgICAgICBzZXQocHlnZW5maWxlICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke2Jp bmFyeV9yZWxfcGF0aH0pCistICAgICAgICAgICAgZWxzZSgpCistICAgICAgICAgICAgICAgIHNl dChweWdlbmZpbGUgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7c291cmNlX3JlbF9wYXRo fSkKKy0gICAgICAgICAgICBlbmRpZigpCistICAgICAgICAgICAgbGlzdChBUFBFTkQgcHljZmls ZXMgJHtweWdlbmZpbGV9YykKKy0gICAgICAgICAgICBsaXN0KEFQUEVORCBweW9maWxlcyAke3B5 Z2VuZmlsZX1vKQorLQorLSAgICAgICAgICAgICNlbnN1cmUgZ2VuZXJhdGlvbiBwYXRoIGV4aXN0 cworLSAgICAgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQocHlnZW5fcGF0aCAke3B5Z2Vu ZmlsZX0gUEFUSCkKKy0gICAgICAgICAgICBmaWxlKE1BS0VfRElSRUNUT1JZICR7cHlnZW5fcGF0 aH0pCistCistICAgICAgICBlbmRmb3JlYWNoKHB5ZmlsZSkKKy0KKy0gICAgICAgICN0aGUgY29t bWFuZCB0byBnZW5lcmF0ZSB0aGUgcHljIGZpbGVzCistICAgICAgICBhZGRfY3VzdG9tX2NvbW1h bmQoCistICAgICAgICAgICAgREVQRU5EUyAke3B5c3JjZmlsZXN9IE9VVFBVVCAke3B5Y2ZpbGVz fQorLSAgICAgICAgICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9CSU5B UllfRElSfS9weXRob25fY29tcGlsZV9oZWxwZXIucHkgJHtweXNyY2ZpbGVzfSAke3B5Y2ZpbGVz fQorLSAgICAgICAgKQorLQorLSAgICAgICAgI3RoZSBjb21tYW5kIHRvIGdlbmVyYXRlIHRoZSBw eW8gZmlsZXMKKy0gICAgICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKy0gICAgICAgICAgICBERVBF TkRTICR7cHlzcmNmaWxlc30gT1VUUFVUICR7cHlvZmlsZXN9CistICAgICAgICAgICAgQ09NTUFO RCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtTyAke0NNQUtFX0JJTkFSWV9ESVJ9L3B5dGhvbl9jb21w aWxlX2hlbHBlci5weSAke3B5c3JjZmlsZXN9ICR7cHlvZmlsZXN9CistICAgICAgICApCistCist ICAgICAgICAjY3JlYXRlIGluc3RhbGwgcnVsZSBhbmQgYWRkIGdlbmVyYXRlZCBmaWxlcyB0byB0 YXJnZXQgbGlzdAorLSAgICAgICAgc2V0KHB5dGhvbl9pbnN0YWxsX2dlbl90YXJnZXRzICR7cHlj ZmlsZXN9ICR7cHlvZmlsZXN9KQorLSAgICAgICAgaW5zdGFsbChGSUxFUyAke3B5dGhvbl9pbnN0 YWxsX2dlbl90YXJnZXRzfQorLSAgICAgICAgICAgIERFU1RJTkFUSU9OICR7R1JfUFlUSE9OX0lO U1RBTExfREVTVElOQVRJT059CistICAgICAgICAgICAgQ09NUE9ORU5UICR7R1JfUFlUSE9OX0lO U1RBTExfQ09NUE9ORU5UfQorLSAgICAgICAgKQorLQorLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSAgICBl bHNlaWYoR1JfUFlUSE9OX0lOU1RBTExfUFJPR1JBTVMpCistICAgICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistICAg ICAgICBmaWxlKFRPX05BVElWRV9QQVRIICR7UFlUSE9OX0VYRUNVVEFCTEV9IHB5ZXhlX25hdGl2 ZSkKKy0KKy0gICAgICAgIGlmIChDTUFLRV9DUk9TU0NPTVBJTElORykKKy0gICAgICAgICAgIHNl dChweWV4ZV9uYXRpdmUgIi91c3IvYmluL2VudiBweXRob24iKQorLSAgICAgICAgZW5kaWYoKQor LQorLSAgICAgICAgZm9yZWFjaChweWZpbGUgJHtHUl9QWVRIT05fSU5TVEFMTF9QUk9HUkFNU30p CistICAgICAgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChweWZpbGVfbmFtZSAke3B5Zmls ZX0gTkFNRSkKKy0gICAgICAgICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KHB5ZmlsZSAke3B5 ZmlsZX0gQUJTT0xVVEUpCistICAgICAgICAgICAgc3RyaW5nKFJFUExBQ0UgIiR7Q01BS0VfU09V UkNFX0RJUn0iICIke0NNQUtFX0JJTkFSWV9ESVJ9IiBweWV4ZWZpbGUgIiR7cHlmaWxlfS5leGUi KQorLSAgICAgICAgICAgIGxpc3QoQVBQRU5EIHB5dGhvbl9pbnN0YWxsX2dlbl90YXJnZXRzICR7 cHlleGVmaWxlfSkKKy0KKy0gICAgICAgICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KHB5ZXhl ZmlsZV9wYXRoICR7cHlleGVmaWxlfSBQQVRIKQorLSAgICAgICAgICAgIGZpbGUoTUFLRV9ESVJF Q1RPUlkgJHtweWV4ZWZpbGVfcGF0aH0pCistCistICAgICAgICAgICAgYWRkX2N1c3RvbV9jb21t YW5kKAorLSAgICAgICAgICAgICAgICBPVVRQVVQgJHtweWV4ZWZpbGV9IERFUEVORFMgJHtweWZp bGV9CistICAgICAgICAgICAgICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMKKy0g ICAgICAgICAgICAgICAgImltcG9ydCByZTsgUj1yZS5jb21waWxlKCdeXCMhLiokXFxuJyxmbGFn cz1yZS5NVUxUSUxJTkUpOyBvcGVuKCcke3B5ZXhlZmlsZX0nLCd3Jykud3JpdGUoJ1wjISR7cHll eGVfbmF0aXZlfVxcbicrUi5zdWIoJycsb3BlbignJHtweWZpbGV9JywncicpLnJlYWQoKSkpIgor LSAgICAgICAgICAgICAgICBDT01NRU5UICJTaGViYW5naW4gJHtweWZpbGVfbmFtZX0iCistICAg ICAgICAgICAgICAgIFZFUkJBVElNCistICAgICAgICAgICAgKQorLQorLSAgICAgICAgICAgICNv biB3aW5kb3dzLCBweXRob24gZmlsZXMgbmVlZCBhbiBleHRlbnNpb24gdG8gZXhlY3V0ZQorLSAg ICAgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQocHlmaWxlX2V4dCAke3B5ZmlsZX0gRVhU KQorLSAgICAgICAgICAgIGlmKFdJTjMyIEFORCBOT1QgcHlmaWxlX2V4dCkKKy0gICAgICAgICAg ICAgICAgc2V0KHB5ZmlsZV9uYW1lICIke3B5ZmlsZV9uYW1lfS5weSIpCistICAgICAgICAgICAg ZW5kaWYoKQorLQorLSAgICAgICAgICAgIGluc3RhbGwoUFJPR1JBTVMgJHtweWV4ZWZpbGV9IFJF TkFNRSAke3B5ZmlsZV9uYW1lfQorLSAgICAgICAgICAgICAgICBERVNUSU5BVElPTiAke0dSX1BZ VEhPTl9JTlNUQUxMX0RFU1RJTkFUSU9OfQorLSAgICAgICAgICAgICAgICBDT01QT05FTlQgJHtH Ul9QWVRIT05fSU5TVEFMTF9DT01QT05FTlR9CistICAgICAgICAgICAgKQorLSAgICAgICAgZW5k Zm9yZWFjaChweWZpbGUpCistCistICAgIGVuZGlmKCkKKy0KKy0gICAgR1JfVU5JUVVFX1RBUkdF VCgicHlnZW4iICR7cHl0aG9uX2luc3RhbGxfZ2VuX3RhcmdldHN9KQorLQorLWVuZGZ1bmN0aW9u KEdSX1BZVEhPTl9JTlNUQUxMKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgV3JpdGUgdGhlIHB5 dGhvbiBoZWxwZXIgc2NyaXB0IHRoYXQgZ2VuZXJhdGVzIGJ5dGUgY29kZSBmaWxlcworLSMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworLWZpbGUoV1JJVEUgJHtDTUFLRV9CSU5BUllfRElSfS9weXRob25fY29tcGls ZV9oZWxwZXIucHkgIgorLWltcG9ydCBzeXMsIHB5X2NvbXBpbGUKKy1maWxlcyA9IHN5cy5hcmd2 WzE6XQorLXNyY3MsIGdlbnMgPSBmaWxlc1s6bGVuKGZpbGVzKS8yXSwgZmlsZXNbbGVuKGZpbGVz KS8yOl0KKy1mb3Igc3JjLCBnZW4gaW4gemlwKHNyY3MsIGdlbnMpOgorLSAgICBweV9jb21waWxl LmNvbXBpbGUoZmlsZT1zcmMsIGNmaWxlPWdlbiwgZG9yYWlzZT1UcnVlKQorLSIpCitkaWZmIC0t Z2l0IGEvY21ha2UvTW9kdWxlcy9HclN3aWcuY21ha2UgYi9jbWFrZS9Nb2R1bGVzL0dyU3dpZy5j bWFrZQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAzM2YzN2QyLi4wMDAwMDAwCist LS0gY21ha2UvTW9kdWxlcy9HclN3aWcuY21ha2UKKysrKyAvZGV2L251bGwKK0BAIC0xLDI1NiAr MCwwIEBACistIyBDb3B5cmlnaHQgMjAxMC0yMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorLSMKKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworLSMKKy0jIEdOVSBS YWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CistIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorLSMgYW55IGxhdGVyIHZlcnNpb24u CistIworLSMgR05VIFJhZGlvIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCistIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSMgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0jCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYWxvbmcgd2l0aCBH TlUgUmFkaW87IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworLSMgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LAorLSMg Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCistCistaWYoREVGSU5FRCBfX0lOQ0xVREVEX0dS X1NXSUdfQ01BS0UpCistICAgIHJldHVybigpCistZW5kaWYoKQorLXNldChfX0lOQ0xVREVEX0dS X1NXSUdfQ01BS0UgVFJVRSkKKy0KKy1pbmNsdWRlKEdyUHl0aG9uKQorLQorLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworLSMgQnVpbGRzIGEgc3dpZyBkb2N1bWVudGF0aW9uIGZpbGUgdG8gYmUgZ2VuZXJhdGVk IGludG8gcHl0aG9uIGRvY3N0cmluZ3MKKy0jIFVzYWdlOiBHUl9TV0lHX01BS0VfRE9DUyhvdXRw dXRfZmlsZSBpbnB1dF9wYXRoIGlucHV0X3BhdGguLi4uKQorLSMKKy0jIFNldCB0aGUgZm9sbG93 aW5nIHZhcmlhYmxlIHRvIHNwZWNpZnkgZXh0cmEgZGVwZW5kZW50IHRhcmdldHM6CistIyAgIC0g R1JfU1dJR19ET0NTX1NPVVJDRV9ERVBTCistIyAgIC0gR1JfU1dJR19ET0NTX1RBUkdFVF9ERVBT CistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCistZnVuY3Rpb24oR1JfU1dJR19NQUtFX0RPQ1Mgb3V0cHV0X2Zp bGUpCistICAgIGlmKEVOQUJMRV9ET1hZR0VOKQorLQorLSAgICAgICAgI3NldHVwIHRoZSBpbnB1 dCBmaWxlcyB2YXJpYWJsZSBsaXN0LCBxdW90ZSBmb3JtYXRlZAorLSAgICAgICAgc2V0KGlucHV0 X2ZpbGVzKQorLSAgICAgICAgdW5zZXQoSU5QVVRfUEFUSFMpCistICAgICAgICBmb3JlYWNoKGlu cHV0X3BhdGggJHtBUkdOfSkKKy0gICAgICAgICAgICBpZihJU19ESVJFQ1RPUlkgJHtpbnB1dF9w YXRofSkgI3doZW4gaW5wdXQgcGF0aCBpcyBhIGRpcmVjdG9yeQorLSAgICAgICAgICAgICAgICBm aWxlKEdMT0IgaW5wdXRfcGF0aF9oX2ZpbGVzICR7aW5wdXRfcGF0aH0vKi5oKQorLSAgICAgICAg ICAgIGVsc2UoKSAjb3RoZXJ3aXNlIGl0cyBqdXN0IGEgZmlsZSwgbm8gZ2xvYgorLSAgICAgICAg ICAgICAgICBzZXQoaW5wdXRfcGF0aF9oX2ZpbGVzICR7aW5wdXRfcGF0aH0pCistICAgICAgICAg ICAgZW5kaWYoKQorLSAgICAgICAgICAgIGxpc3QoQVBQRU5EIGlucHV0X2ZpbGVzICR7aW5wdXRf cGF0aF9oX2ZpbGVzfSkKKy0gICAgICAgICAgICBzZXQoSU5QVVRfUEFUSFMgIiR7SU5QVVRfUEFU SFN9IFwiJHtpbnB1dF9wYXRofVwiIikKKy0gICAgICAgIGVuZGZvcmVhY2goaW5wdXRfcGF0aCkK Ky0KKy0gICAgICAgICNkZXRlcm1pbmUgdGhlIG91dHB1dCBkaXJlY3RvcnkKKy0gICAgICAgIGdl dF9maWxlbmFtZV9jb21wb25lbnQobmFtZSAke291dHB1dF9maWxlfSBOQU1FX1dFKQorLSAgICAg ICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChPVVRQVVRfRElSRUNUT1JZICR7b3V0cHV0X2ZpbGV9 IFBBVEgpCistICAgICAgICBzZXQoT1VUUFVUX0RJUkVDVE9SWSAke09VVFBVVF9ESVJFQ1RPUll9 LyR7bmFtZX1fc3dpZ19kb2NzKQorLSAgICAgICAgbWFrZV9kaXJlY3RvcnkoJHtPVVRQVVRfRElS RUNUT1JZfSkKKy0KKy0gICAgICAgICNnZW5lcmF0ZSB0aGUgRG94eWZpbGUgdXNlZCBieSBkb3h5 Z2VuCistICAgICAgICBjb25maWd1cmVfZmlsZSgKKy0gICAgICAgICAgICAke0NNQUtFX1NPVVJD RV9ESVJ9L2RvY3MvZG94eWdlbi9Eb3h5ZmlsZS5zd2lnX2RvYy5pbgorLSAgICAgICAgICAgICR7 T1VUUFVUX0RJUkVDVE9SWX0vRG94eWZpbGUKKy0gICAgICAgIEBPTkxZKQorLQorLSAgICAgICAg I0NyZWF0ZSBhIGR1bW15IGN1c3RvbSBjb21tYW5kIHRoYXQgZGVwZW5kcyBvbiBvdGhlciB0YXJn ZXRzCistICAgICAgICBpbmNsdWRlKEdyTWlzY1V0aWxzKQorLSAgICAgICAgR1JfR0VOX1RBUkdF VF9ERVBTKF8ke25hbWV9X3RhZyB0YWdfZGVwcyAke0dSX1NXSUdfRE9DU19UQVJHRVRfREVQU30p CistCistICAgICAgICAjY2FsbCBkb3h5Z2VuIG9uIHRoZSBEb3h5ZmlsZSArIGlucHV0IGhlYWRl cnMKKy0gICAgICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKy0gICAgICAgICAgICBPVVRQVVQgJHtP VVRQVVRfRElSRUNUT1JZfS94bWwvaW5kZXgueG1sCistICAgICAgICAgICAgREVQRU5EUyAke2lu cHV0X2ZpbGVzfSAke0dSX1NXSUdfRE9DU19TT1VSQ0VfREVQU30gJHt0YWdfZGVwc30KKy0gICAg ICAgICAgICBDT01NQU5EICR7RE9YWUdFTl9FWEVDVVRBQkxFfSAke09VVFBVVF9ESVJFQ1RPUll9 L0RveHlmaWxlCistICAgICAgICAgICAgQ09NTUVOVCAiR2VuZXJhdGluZyBkb3h5Z2VuIHhtbCBm b3IgJHtuYW1lfSBkb2NzIgorLSAgICAgICAgKQorLQorLSAgICAgICAgI2NhbGwgdGhlIHN3aWdf ZG9jIHNjcmlwdCBvbiB0aGUgeG1sIGZpbGVzCistICAgICAgICBhZGRfY3VzdG9tX2NvbW1hbmQo CistICAgICAgICAgICAgT1VUUFVUICR7b3V0cHV0X2ZpbGV9CistICAgICAgICAgICAgREVQRU5E UyAke2lucHV0X2ZpbGVzfSAke3N0YW1wLWZpbGV9ICR7T1VUUFVUX0RJUkVDVE9SWX0veG1sL2lu ZGV4LnhtbAorLSAgICAgICAgICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtQWVRI T05fREFTSF9CfQorLSAgICAgICAgICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L2RvY3MvZG94 eWdlbi9zd2lnX2RvYy5weQorLSAgICAgICAgICAgICAgICAke09VVFBVVF9ESVJFQ1RPUll9L3ht bAorLSAgICAgICAgICAgICAgICAke291dHB1dF9maWxlfQorLSAgICAgICAgICAgIENPTU1FTlQg IkdlbmVyYXRpbmcgcHl0aG9uIGRvY3N0cmluZ3MgZm9yICR7bmFtZX0iCistICAgICAgICAgICAg V09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9TT1VSQ0VfRElSfS9kb2NzL2RveHlnZW4KKy0gICAg ICAgICkKKy0KKy0gICAgZWxzZShFTkFCTEVfRE9YWUdFTikKKy0gICAgICAgIGZpbGUoV1JJVEUg JHtvdXRwdXRfZmlsZX0gIlxuIikgI25vIGRveHlnZW4gLT4gZW1wdHkgZmlsZQorLSAgICBlbmRp ZihFTkFCTEVfRE9YWUdFTikKKy1lbmRmdW5jdGlvbihHUl9TV0lHX01BS0VfRE9DUykKKy0KKy0j IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKy0jIEJ1aWxkIGEgc3dpZyB0YXJnZXQgZm9yIHRoZSBjb21tb24gZ251 cmFkaW8gdXNlIGNhc2UuIFVzYWdlOgorLSMgR1JfU1dJR19NQUtFKHRhcmdldCBpZmlsZSBpZmls ZSBpZmlsZS4uLikKKy0jCistIyBTZXQgdGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYmVmb3JlIGNh bGxpbmc6CistIyAgIC0gR1JfU1dJR19GTEFHUworLSMgICAtIEdSX1NXSUdfSU5DTFVERV9ESVJT CistIyAgIC0gR1JfU1dJR19MSUJSQVJJRVMKKy0jICAgLSBHUl9TV0lHX1NPVVJDRV9ERVBTCist IyAgIC0gR1JfU1dJR19UQVJHRVRfREVQUworLSMgICAtIEdSX1NXSUdfRE9DX0ZJTEUKKy0jICAg LSBHUl9TV0lHX0RPQ19ESVJTCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistbWFjcm8oR1JfU1dJR19NQUtF IG5hbWUpCistICAgIHNldChpZmlsZXMgJHtBUkdOfSkKKy0KKy0gICAgIyBTaGltbWluZyB0aGlz IGluIGhlcmUgdG8gdGFrZSBjYXJlIG9mIGEgU1dJRyBidWcgd2l0aCBoYW5kbGluZworLSAgICAj IHZlY3RvcjxzaXplX3Q+IGFuZCB2ZWN0b3I8dW5zaWduZWQgaW50PiAob24gMzItYml0IG1hY2hp bmVzKSBhbmQKKy0gICAgIyB2ZWN0b3I8bG9uZyB1bnNpZ25lZCBpbnQ+IChvbiA2NC1iaXQgbWFj aGluZXMpLiBVc2UgdGhpcyB0byB0ZXN0CistICAgICMgdGhlIHNpemUgb2Ygc2l6ZV90LCB0aGVu IHNldCBTSVpFX1RfMzIgaWYgaXQncyBhIDMyLWJpdCBtYWNoaW5lCistICAgICMgb3Igbm90IGlm IGl0J3MgNjQtYml0LiBUaGUgbG9naWMgaW4gZ3JfdHlwZS5pIGhhbmRsZXMgdGhlIHJlc3QuCist ICAgIElOQ0xVREUoQ2hlY2tUeXBlU2l6ZSkKKy0gICAgQ0hFQ0tfVFlQRV9TSVpFKCJzaXplX3Qi IFNJWkVPRl9TSVpFX1QpCistICAgIENIRUNLX1RZUEVfU0laRSgidW5zaWduZWQgaW50IiBTSVpF T0ZfVUlOVCkKKy0gICAgaWYoJHtTSVpFT0ZfU0laRV9UfSBFUVVBTCAke1NJWkVPRl9VSU5UfSkK Ky0gICAgICBsaXN0KEFQUEVORCBHUl9TV0lHX0ZMQUdTIC1EU0laRV9UXzMyKQorLSAgICBlbmRp Zigke1NJWkVPRl9TSVpFX1R9IEVRVUFMICR7U0laRU9GX1VJTlR9KQorLQorLSAgICAjZG8gc3dp ZyBkb2MgZ2VuZXJhdGlvbiBpZiBzcGVjaWZpZWQKKy0gICAgaWYoR1JfU1dJR19ET0NfRklMRSkK Ky0gICAgICAgIHNldChHUl9TV0lHX0RPQ1NfU09VUkNFX0RFUFMgJHtHUl9TV0lHX1NPVVJDRV9E RVBTfSkKKy0gICAgICAgIGxpc3QoQVBQRU5EIEdSX1NXSUdfRE9DU19UQVJHRVRfREVQUyAke0dS X1NXSUdfVEFSR0VUX0RFUFN9KQorLSAgICAgICAgR1JfU1dJR19NQUtFX0RPQ1MoJHtHUl9TV0lH X0RPQ19GSUxFfSAke0dSX1NXSUdfRE9DX0RJUlN9KQorLSAgICAgICAgYWRkX2N1c3RvbV90YXJn ZXQoJHtuYW1lfV9zd2lnX2RvYyBERVBFTkRTICR7R1JfU1dJR19ET0NfRklMRX0pCistICAgICAg ICBsaXN0KEFQUEVORCBHUl9TV0lHX1RBUkdFVF9ERVBTICR7bmFtZX1fc3dpZ19kb2MgJHtHUl9S VU5USU1FX1NXSUdfRE9DX0ZJTEV9KQorLSAgICBlbmRpZigpCistCistICAgICNhcHBlbmQgYWRk aXRpb25hbCBpbmNsdWRlIGRpcmVjdG9yaWVzCistICAgIGZpbmRfcGFja2FnZShQeXRob25MaWJz IDIpCistICAgIGxpc3QoQVBQRU5EIEdSX1NXSUdfSU5DTFVERV9ESVJTICR7UFlUSE9OX0lOQ0xV REVfUEFUSH0pICNkZXByZWNhdGVkIG5hbWUgKG5vdyBkaXJzKQorLSAgICBsaXN0KEFQUEVORCBH Ul9TV0lHX0lOQ0xVREVfRElSUyAke1BZVEhPTl9JTkNMVURFX0RJUlN9KQorLQorLSAgICAjcHJl cGVuZCBsb2NhbCBzd2lnIGRpcmVjdG9yaWVzCistICAgIGxpc3QoSU5TRVJUIEdSX1NXSUdfSU5D TFVERV9ESVJTIDAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorLSAgICBsaXN0KElOU0VS VCBHUl9TV0lHX0lOQ0xVREVfRElSUyAwICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfSkKKy0K Ky0gICAgI2RldGVybWluZSBpbmNsdWRlIGRlcGVuZGVuY2llcyBmb3Igc3dpZyBmaWxlCistICAg IGV4ZWN1dGVfcHJvY2VzcygKKy0gICAgICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0K Ky0gICAgICAgICAgICAke0NNQUtFX0JJTkFSWV9ESVJ9L2dldF9zd2lnX2RlcHMucHkKKy0gICAg ICAgICAgICAiJHtpZmlsZXN9IiAiJHtHUl9TV0lHX0lOQ0xVREVfRElSU30iCistICAgICAgICBP VVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJVEVTUEFDRQorLSAgICAgICAgT1VUUFVUX1ZBUklBQkxF IFNXSUdfTU9EVUxFXyR7bmFtZX1fRVhUUkFfREVQUworLSAgICAgICAgV09SS0lOR19ESVJFQ1RP UlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9CistICAgICkKKy0KKy0gICAgI0NyZWF0ZSBh IGR1bW15IGN1c3RvbSBjb21tYW5kIHRoYXQgZGVwZW5kcyBvbiBvdGhlciB0YXJnZXRzCistICAg IGluY2x1ZGUoR3JNaXNjVXRpbHMpCistICAgIEdSX0dFTl9UQVJHRVRfREVQUyhfJHtuYW1lfV9z d2lnX3RhZyB0YWdfZGVwcyAke0dSX1NXSUdfVEFSR0VUX0RFUFN9KQorLSAgICBzZXQodGFnX2Zp bGUgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7bmFtZX0udGFnKQorLSAgICBhZGRfY3Vz dG9tX2NvbW1hbmQoCistICAgICAgICBPVVRQVVQgJHt0YWdfZmlsZX0KKy0gICAgICAgIERFUEVO RFMgJHtHUl9TV0lHX1NPVVJDRV9ERVBTfSAke3RhZ19kZXBzfQorLSAgICAgICAgQ09NTUFORCAk e0NNQUtFX0NPTU1BTkR9IC1FIHRvdWNoICR7dGFnX2ZpbGV9CistICAgICkKKy0KKy0gICAgI2Fw cGVuZCB0aGUgc3BlY2lmaWVkIGluY2x1ZGUgZGlyZWN0b3JpZXMKKy0gICAgaW5jbHVkZV9kaXJl Y3Rvcmllcygke0dSX1NXSUdfSU5DTFVERV9ESVJTfSkKKy0gICAgbGlzdChBUFBFTkQgU1dJR19N T0RVTEVfJHtuYW1lfV9FWFRSQV9ERVBTICR7dGFnX2ZpbGV9KQorLQorLSAgICAjc2V0dXAgdGhl IHN3aWcgZmxhZ3Mgd2l0aCBmbGFncyBhbmQgaW5jbHVkZSBkaXJlY3RvcmllcworLSAgICBzZXQo Q01BS0VfU1dJR19GTEFHUyAtZnZpcnR1YWwgLW1vZGVybiAta2V5d29yZCAtdzUxMSAtbW9kdWxl ICR7bmFtZX0gJHtHUl9TV0lHX0ZMQUdTfSkKKy0gICAgZm9yZWFjaChkaXIgJHtHUl9TV0lHX0lO Q0xVREVfRElSU30pCistICAgICAgICBsaXN0KEFQUEVORCBDTUFLRV9TV0lHX0ZMQUdTICItSSR7 ZGlyfSIpCistICAgIGVuZGZvcmVhY2goZGlyKQorLQorLSAgICAjc2V0IHRoZSBDKysgcHJvcGVy dHkgb24gdGhlIHN3aWcgLmkgZmlsZSBzbyBpdCBidWlsZHMKKy0gICAgc2V0X3NvdXJjZV9maWxl c19wcm9wZXJ0aWVzKCR7aWZpbGVzfSBQUk9QRVJUSUVTIENQTFVTUExVUyBPTikKKy0KKy0gICAg I3NldHVwIHRoZSBhY3R1YWwgc3dpZyBsaWJyYXJ5IHRhcmdldCB0byBiZSBidWlsdAorLSAgICBp bmNsdWRlKFVzZVNXSUcpCistICAgIFNXSUdfQUREX01PRFVMRSgke25hbWV9IHB5dGhvbiAke2lm aWxlc30pCistICAgIGlmKEFQUExFKQorLSAgICAgIHNldChQWVRIT05fTElOS19PUFRJT05TICIt dW5kZWZpbmVkIGR5bmFtaWNfbG9va3VwIikKKy0gICAgZWxzZSgpCistICAgICAgc2V0KFBZVEhP Tl9MSU5LX09QVElPTlMgJHtQWVRIT05fTElCUkFSSUVTfSkKKy0gICAgZW5kaWYoQVBQTEUpCist ICAgIFNXSUdfTElOS19MSUJSQVJJRVMoJHtuYW1lfSAke1BZVEhPTl9MSU5LX09QVElPTlN9ICR7 R1JfU1dJR19MSUJSQVJJRVN9KQorLSAgICBpZigke25hbWV9IFNUUkVRVUFMICJydW50aW1lX3N3 aWciKQorLSAgICAgICAgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKCR7U1dJR19NT0RVTEVfcnVudGlt ZV9zd2lnX1JFQUxfTkFNRX0gUFJPUEVSVElFUyBERUZJTkVfU1lNQk9MICJnbnVyYWRpb19ydW50 aW1lX0VYUE9SVFMiKQorLSAgICBlbmRpZigke25hbWV9IFNUUkVRVUFMICJydW50aW1lX3N3aWci KQorLQorLWVuZG1hY3JvKEdSX1NXSUdfTUFLRSkKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIElu c3RhbGwgc3dpZyB0YXJnZXRzIGdlbmVyYXRlZCBieSBHUl9TV0lHX01BS0UuIFVzYWdlOgorLSMg R1JfU1dJR19JTlNUQUxMKAorLSMgICBUQVJHRVRTIHRhcmdldCB0YXJnZXQgdGFyZ2V0Li4uCist IyAgIFtERVNUSU5BVElPTiBkZXN0aW5hdGlvbl0KKy0jICAgW0NPTVBPTkVOVCBjb21wb25lbnRd CistIyApCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistbWFjcm8oR1JfU1dJR19JTlNUQUxMKQorLQorLSAg ICBpbmNsdWRlKENNYWtlUGFyc2VBcmd1bWVudHNDb3B5KQorLSAgICBDTUFLRV9QQVJTRV9BUkdV TUVOVFMoR1JfU1dJR19JTlNUQUxMICIiICJERVNUSU5BVElPTjtDT01QT05FTlQiICJUQVJHRVRT IiAke0FSR059KQorLQorLSAgICBmb3JlYWNoKG5hbWUgJHtHUl9TV0lHX0lOU1RBTExfVEFSR0VU U30pCistICAgICAgICBpbnN0YWxsKFRBUkdFVFMgJHtTV0lHX01PRFVMRV8ke25hbWV9X1JFQUxf TkFNRX0KKy0gICAgICAgICAgICBERVNUSU5BVElPTiAke0dSX1NXSUdfSU5TVEFMTF9ERVNUSU5B VElPTn0KKy0gICAgICAgICAgICBDT01QT05FTlQgJHtHUl9TV0lHX0lOU1RBTExfQ09NUE9ORU5U fQorLSAgICAgICAgKQorLQorLSAgICAgICAgaW5jbHVkZShHclB5dGhvbikKKy0gICAgICAgIEdS X1BZVEhPTl9JTlNUQUxMKEZJTEVTICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke25hbWV9 LnB5CistICAgICAgICAgICAgREVTVElOQVRJT04gJHtHUl9TV0lHX0lOU1RBTExfREVTVElOQVRJ T059CistICAgICAgICAgICAgQ09NUE9ORU5UICR7R1JfU1dJR19JTlNUQUxMX0NPTVBPTkVOVH0K Ky0gICAgICAgICkKKy0KKy0gICAgICAgIEdSX0xJQlRPT0woCistICAgICAgICAgICAgVEFSR0VU ICR7U1dJR19NT0RVTEVfJHtuYW1lfV9SRUFMX05BTUV9CistICAgICAgICAgICAgREVTVElOQVRJ T04gJHtHUl9TV0lHX0lOU1RBTExfREVTVElOQVRJT059CistICAgICAgICApCistCistICAgIGVu ZGZvcmVhY2gobmFtZSkKKy0KKy1lbmRtYWNybyhHUl9TV0lHX0lOU1RBTEwpCistCistIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCistIyBHZW5lcmF0ZSBhIHB5dGhvbiBmaWxlIHRoYXQgY2FuIGRldGVybWluZSBz d2lnIGRlcGVuZGVuY2llcy4KKy0jIFVzZWQgYnkgdGhlIG1ha2UgbWFjcm8gYWJvdmUgdG8gZGV0 ZXJtaW5lIGV4dHJhIGRlcGVuZGVuY2llcy4KKy0jIFdoZW4geW91IGJ1aWxkIEMrKywgQ01ha2Ug ZmlndXJlcyBvdXQgdGhlIGhlYWRlciBkZXBlbmRlbmNpZXMuCistIyBUaGlzIGNvZGUgZXNzZW50 aWFsbHkgcGVyZm9ybXMgdGhhdCBsb2dpYyBmb3Igc3dpZyBpbmNsdWRlcy4KKy0jIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKy1maWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJUn0vZ2V0X3N3aWdfZGVwcy5weSAi CistCistaW1wb3J0IG9zLCBzeXMsIHJlCistCistaV9pbmNsdWRlX21hdGNoZXIgPSByZS5jb21w aWxlKCclKGluY2x1ZGV8aW1wb3J0KVxccypbPHxcIl0oLiopWz58XCJdJykKKy1oX2luY2x1ZGVf bWF0Y2hlciA9IHJlLmNvbXBpbGUoJyMoaW5jbHVkZSlcXHMqWzx8XCJdKC4qKVs+fFwiXScpCist aW5jbHVkZV9kaXJzID0gc3lzLmFyZ3ZbMl0uc3BsaXQoJzsnKQorLQorLWRlZiBnZXRfc3dpZ19p bmNzKGZpbGVfcGF0aCk6CistICAgIGlmIGZpbGVfcGF0aC5lbmRzd2l0aCgnLmknKTogbWF0Y2hl ciA9IGlfaW5jbHVkZV9tYXRjaGVyCistICAgIGVsc2U6IG1hdGNoZXIgPSBoX2luY2x1ZGVfbWF0 Y2hlcgorLSAgICBmaWxlX2NvbnRlbnRzID0gb3BlbihmaWxlX3BhdGgsICdyJykucmVhZCgpCist ICAgIHJldHVybiBtYXRjaGVyLmZpbmRhbGwoZmlsZV9jb250ZW50cywgcmUuTVVMVElMSU5FKQor LQorLWRlZiBnZXRfc3dpZ19kZXBzKGZpbGVfcGF0aCwgbGV2ZWwpOgorLSAgICBkZXBzID0gW2Zp bGVfcGF0aF0KKy0gICAgaWYgbGV2ZWwgPT0gMDogcmV0dXJuIGRlcHMKKy0gICAgZm9yIGtleXdv cmQsIGluY19maWxlIGluIGdldF9zd2lnX2luY3MoZmlsZV9wYXRoKToKKy0gICAgICAgIGZvciBp bmNfZGlyIGluIGluY2x1ZGVfZGlyczoKKy0gICAgICAgICAgICBpbmNfcGF0aCA9IG9zLnBhdGgu am9pbihpbmNfZGlyLCBpbmNfZmlsZSkKKy0gICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlz dHMoaW5jX3BhdGgpOiBjb250aW51ZQorLSAgICAgICAgICAgIGRlcHMuZXh0ZW5kKGdldF9zd2ln X2RlcHMoaW5jX3BhdGgsIGxldmVsLTEpKQorLSAgICAgICAgICAgIGJyZWFrICNmb3VuZCwgd2Ug ZG9udCBzZWFyY2ggaW4gbG93ZXIgcHJpbyBpbmMgZGlycworLSAgICByZXR1cm4gZGVwcworLQor LWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CistICAgIGlmaWxlcyA9IHN5cy5hcmd2WzFdLnNw bGl0KCc7JykKKy0gICAgZGVwcyA9IHN1bShbZ2V0X3N3aWdfZGVwcyhpZmlsZSwgMykgZm9yIGlm aWxlIGluIGlmaWxlc10sIFtdKQorLSAgICAjc3lzLnN0ZGVyci53cml0ZSgnOycuam9pbihzZXQo ZGVwcykpICsgJ1xcblxcbicpCistICAgIHByaW50KCc7Jy5qb2luKHNldChkZXBzKSkpCistIikK K2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1bGVzL0dyVGVzdC5jbWFrZSBiL2NtYWtlL01vZHVsZXMv R3JUZXN0LmNtYWtlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDYyY2FhYjQuLjAw MDAwMDAKKy0tLSBjbWFrZS9Nb2R1bGVzL0dyVGVzdC5jbWFrZQorKysrIC9kZXYvbnVsbAorQEAg LTEsMTQzICswLDAgQEAKKy0jIENvcHlyaWdodCAyMDEwLTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCistIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCistIwor LSMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKKy0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCistIyBhbnkgbGF0ZXIg dmVyc2lvbi4KKy0jCistIyBHTlUgUmFkaW8gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistIyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSMKKy0jIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistIyBhbG9u ZyB3aXRoIEdOVSBSYWRpbzsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRv CistIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl ZXQsCistIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKy0KKy1pZihERUZJTkVEIF9fSU5D TFVERURfR1JfVEVTVF9DTUFLRSkKKy0gICAgcmV0dXJuKCkKKy1lbmRpZigpCistc2V0KF9fSU5D TFVERURfR1JfVEVTVF9DTUFLRSBUUlVFKQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgQWRkIGEg dW5pdCB0ZXN0IGFuZCBzZXR1cCB0aGUgZW52aXJvbm1lbnQgZm9yIGEgdW5pdCB0ZXN0LgorLSMg VGFrZXMgdGhlIHNhbWUgYXJndW1lbnRzIGFzIHRoZSBBRERfVEVTVCBmdW5jdGlvbi4KKy0jCist IyBCZWZvcmUgY2FsbGluZyBzZXQgdGhlIGZvbGxvd2luZyB2YXJpYWJsZXM6CistIyBHUl9URVNU X1RBUkdFVF9ERVBTICAtIGJ1aWx0IHRhcmdldHMgZm9yIHRoZSBsaWJyYXJ5IHBhdGgKKy0jIEdS X1RFU1RfTElCUkFSWV9ESVJTIC0gZGlyZWN0b3JpZXMgZm9yIHRoZSBsaWJyYXJ5IHBhdGgKKy0j IEdSX1RFU1RfUFlUSE9OX0RJUlMgIC0gZGlyZWN0b3JpZXMgZm9yIHRoZSBweXRob24gcGF0aAor LSMgR1JfVEVTVF9FTlZJUk9OUyAgLSBvdGhlciBlbnZpcm9ubWVudCBrZXkvdmFsdWUgcGFpcnMK Ky0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKy1mdW5jdGlvbihHUl9BRERfVEVTVCB0ZXN0X25hbWUpCistCist ICAgICAgICAjRW5zdXJlIHRoYXQgdGhlIGJ1aWxkIGV4ZSBhbHNvIGFwcGVhcnMgaW4gdGhlIFBB VEguCistICAgICAgICBsaXN0KEFQUEVORCBHUl9URVNUX1RBUkdFVF9ERVBTICR7QVJHTn0pCist CistICAgICAgICAjSW4gdGhlIGxhbmQgb2Ygd2luZG93cywgYWxsIGxpYnJhcmllcyBtdXN0IGJl IGluIHRoZSBQQVRILgorLSAgICAgICAgI1NpbmNlIHRoZSBkZXBlbmRlbnQgbGlicmFyaWVzIGFy ZSBub3QgeWV0IGluc3RhbGxlZCwKKy0gICAgICAgICN3ZSBtdXN0IG1hbnVhbGx5IHNldCB0aGVt IGluIHRoZSBQQVRIIHRvIHJ1biB0ZXN0cy4KKy0gICAgICAgICNUaGUgZm9sbG93aW5nIGFwcGVu ZHMgdGhlIHBhdGggb2YgYSB0YXJnZXQgZGVwZW5kZW5jeS4KKy0gICAgICAgIGZvcmVhY2godGFy Z2V0ICR7R1JfVEVTVF9UQVJHRVRfREVQU30pCistICAgICAgICAgICAgZ2V0X3RhcmdldF9wcm9w ZXJ0eShsb2NhdGlvbiAke3RhcmdldH0gTE9DQVRJT04pCistICAgICAgICAgICAgaWYobG9jYXRp b24pCistICAgICAgICAgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQocGF0aCAke2xvY2F0 aW9ufSBQQVRIKQorLSAgICAgICAgICAgICAgICBzdHJpbmcoUkVHRVggUkVQTEFDRSAiXFwkXFwo LipcXCkiICR7Q01BS0VfQlVJTERfVFlQRX0gcGF0aCAke3BhdGh9KQorLSAgICAgICAgICAgICAg ICBsaXN0KEFQUEVORCBHUl9URVNUX0xJQlJBUllfRElSUyAke3BhdGh9KQorLSAgICAgICAgICAg IGVuZGlmKGxvY2F0aW9uKQorLSAgICAgICAgZW5kZm9yZWFjaCh0YXJnZXQpCistCistICAgIGlm KFdJTjMyKQorLSAgICAgICAgI1NXSUcgZ2VuZXJhdGVzIHRoZSBweXRob24gbGlicmFyeSBmaWxl cyBpbnRvIGEgc3ViZGlyZWN0b3J5LgorLSAgICAgICAgI1RoZXJlZm9yZSwgd2UgbXVzdCBhcHBl bmQgdGhpcyBzdWJkaXJlY3RvcnkgaW50byBQWVRIT05QQVRILgorLSAgICAgICAgI09ubHkgZG8g dGhpcyBmb3IgdGhlIHB5dGhvbiBkaXJlY3RvcmllcyBtYXRjaGluZyB0aGUgZm9sbG93aW5nOgor LSAgICAgICAgZm9yZWFjaChweWRpciAke0dSX1RFU1RfUFlUSE9OX0RJUlN9KQorLSAgICAgICAg ICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQobmFtZSAke3B5ZGlyfSBOQU1FKQorLSAgICAgICAg ICAgIGlmKG5hbWUgTUFUQ0hFUyAiXihzd2lnfGxpYnxzcmMpJCIpCistICAgICAgICAgICAgICAg IGxpc3QoQVBQRU5EIEdSX1RFU1RfUFlUSE9OX0RJUlMgJHtweWRpcn0vJHtDTUFLRV9CVUlMRF9U WVBFfSkKKy0gICAgICAgICAgICBlbmRpZigpCistICAgICAgICBlbmRmb3JlYWNoKHB5ZGlyKQor LSAgICBlbmRpZihXSU4zMikKKy0KKy0gICAgZmlsZShUT19OQVRJVkVfUEFUSCAke0NNQUtFX0NV UlJFTlRfU09VUkNFX0RJUn0gc3JjZGlyKQorLSAgICBmaWxlKFRPX05BVElWRV9QQVRIICIke0dS X1RFU1RfTElCUkFSWV9ESVJTfSIgbGlicGF0aCkgI29rIHRvIHVzZSBvbiBkaXIgbGlzdD8KKy0g ICAgZmlsZShUT19OQVRJVkVfUEFUSCAiJHtHUl9URVNUX1BZVEhPTl9ESVJTfSIgcHlwYXRoKSAj b2sgdG8gdXNlIG9uIGRpciBsaXN0PworLQorLSAgICBzZXQoZW52aXJvbnMgIlZPTEtfR0VORVJJ Qz0xIiAiR1JfRE9OVF9MT0FEX1BSRUZTPTEiICJzcmNkaXI9JHtzcmNkaXJ9IikKKy0gICAgbGlz dChBUFBFTkQgZW52aXJvbnMgJHtHUl9URVNUX0VOVklST05TfSkKKy0KKy0gICAgI2h0dHA6Ly93 d3cuY21ha2Uub3JnL3BpcGVybWFpbC9jbWFrZS8yMDA5LU1heS8wMjk0NjQuaHRtbAorLSAgICAj UmVwbGFjZWQgdGhpcyBhZGQgdGVzdCArIHNldCBlbnZpcm9ucyBjb2RlIHdpdGggdGhlIHNoZWxs IHNjcmlwdCBnZW5lcmF0aW9uLgorLSAgICAjSXRzIG5pY2VyIHRvIGJlIGFibGUgdG8gbWFudWFs bHkgcnVuIHRoZSBzaGVsbCBzY3JpcHQgdG8gZGlhZ25vc2UgcHJvYmxlbXMuCistICAgICNBRERf VEVTVCgke0FSR1Z9KQorLSAgICAjU0VUX1RFU1RTX1BST1BFUlRJRVMoJHt0ZXN0X25hbWV9IFBS T1BFUlRJRVMgRU5WSVJPTk1FTlQgIiR7ZW52aXJvbnN9IikKKy0KKy0gICAgaWYoVU5JWCkKKy0g ICAgICAgIHNldChMRF9QQVRIX1ZBUiAiTERfTElCUkFSWV9QQVRIIikKKy0gICAgICAgIGlmKEFQ UExFKQorLSAgICAgICAgICAgIHNldChMRF9QQVRIX1ZBUiAiRFlMRF9MSUJSQVJZX1BBVEgiKQor LSAgICAgICAgZW5kaWYoKQorLQorLSAgICAgICAgc2V0KGJpbnBhdGggIiR7Q01BS0VfQ1VSUkVO VF9CSU5BUllfRElSfTokUEFUSCIpCistICAgICAgICBsaXN0KEFQUEVORCBsaWJwYXRoICIkJHtM RF9QQVRIX1ZBUn0iKQorLSAgICAgICAgbGlzdChBUFBFTkQgcHlwYXRoICIkUFlUSE9OUEFUSCIp CistCistICAgICAgICAjcmVwbGFjZSBsaXN0IHNlcGFyYXRvciB3aXRoIHRoZSBwYXRoIHNlcGFy YXRvcgorLSAgICAgICAgc3RyaW5nKFJFUExBQ0UgIjsiICI6IiBsaWJwYXRoICIke2xpYnBhdGh9 IikKKy0gICAgICAgIHN0cmluZyhSRVBMQUNFICI7IiAiOiIgcHlwYXRoICIke3B5cGF0aH0iKQor LSAgICAgICAgbGlzdChBUFBFTkQgZW52aXJvbnMgIlBBVEg9JHtiaW5wYXRofSIgIiR7TERfUEFU SF9WQVJ9PSR7bGlicGF0aH0iICJQWVRIT05QQVRIPSR7cHlwYXRofSIpCistCistICAgICAgICAj Z2VuZXJhdGUgYSBiYXQgZmlsZSB0aGF0IHNldHMgdGhlIGVudmlyb25tZW50IGFuZCBydW5zIHRo ZSB0ZXN0CistCWlmIChDTUFLRV9DUk9TU0NPTVBJTElORykKKy0gICAgICAgICAgICAgICAgc2V0 KFNIRUxMICIvYmluL3NoIikKKy0gICAgICAgIGVsc2UoQ01BS0VfQ1JPU1NDT01QSUxJTkcpCist ICAgICAgICAgICAgICAgIGZpbmRfcHJvZ3JhbShTSEVMTCBzaCkKKy0gICAgICAgIGVuZGlmKENN QUtFX0NST1NTQ09NUElMSU5HKQorLSAgICAgICAgc2V0KHNoX2ZpbGUgJHtDTUFLRV9DVVJSRU5U X0JJTkFSWV9ESVJ9LyR7dGVzdF9uYW1lfV90ZXN0LnNoKQorLSAgICAgICAgZmlsZShXUklURSAk e3NoX2ZpbGV9ICIjISR7U0hFTEx9XG4iKQorLSAgICAgICAgI2VhY2ggbGluZSBzZXRzIGFuIGVu dmlyb25tZW50IHZhcmlhYmxlCistICAgICAgICBmb3JlYWNoKGVudmlyb24gJHtlbnZpcm9uc30p CistICAgICAgICAgICAgZmlsZShBUFBFTkQgJHtzaF9maWxlfSAiZXhwb3J0ICR7ZW52aXJvbn1c biIpCistICAgICAgICBlbmRmb3JlYWNoKGVudmlyb24pCistICAgICAgICAjbG9hZCB0aGUgY29t bWFuZCB0byBydW4gd2l0aCBpdHMgYXJndW1lbnRzCistICAgICAgICBmb3JlYWNoKGFyZyAke0FS R059KQorLSAgICAgICAgICAgIGZpbGUoQVBQRU5EICR7c2hfZmlsZX0gIiR7YXJnfSAiKQorLSAg ICAgICAgZW5kZm9yZWFjaChhcmcpCistICAgICAgICBmaWxlKEFQUEVORCAke3NoX2ZpbGV9ICJc biIpCistCistICAgICAgICAjbWFrZSB0aGUgc2hlbGwgZmlsZSBleGVjdXRhYmxlCistICAgICAg ICBleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCBjaG1vZCAreCAke3NoX2ZpbGV9KQorLQorLSAgICAg ICAgYWRkX3Rlc3QoJHt0ZXN0X25hbWV9ICR7U0hFTEx9ICR7c2hfZmlsZX0pCistCistICAgIGVu ZGlmKFVOSVgpCistCistICAgIGlmKFdJTjMyKQorLSAgICAgICAgbGlzdChBUFBFTkQgbGlicGF0 aCAke0RMTF9QQVRIU30gIiVQQVRIJSIpCistICAgICAgICBsaXN0KEFQUEVORCBweXBhdGggIiVQ WVRIT05QQVRIJSIpCistCistICAgICAgICAjcmVwbGFjZSBsaXN0IHNlcGFyYXRvciB3aXRoIHRo ZSBwYXRoIHNlcGFyYXRvciAoZXNjYXBlZCkKKy0gICAgICAgIHN0cmluZyhSRVBMQUNFICI7IiAi XFw7IiBsaWJwYXRoICIke2xpYnBhdGh9IikKKy0gICAgICAgIHN0cmluZyhSRVBMQUNFICI7IiAi XFw7IiBweXBhdGggIiR7cHlwYXRofSIpCistICAgICAgICBsaXN0KEFQUEVORCBlbnZpcm9ucyAi UEFUSD0ke2xpYnBhdGh9IiAiUFlUSE9OUEFUSD0ke3B5cGF0aH0iKQorLQorLSAgICAgICAgI2dl bmVyYXRlIGEgYmF0IGZpbGUgdGhhdCBzZXRzIHRoZSBlbnZpcm9ubWVudCBhbmQgcnVucyB0aGUg dGVzdAorLSAgICAgICAgc2V0KGJhdF9maWxlICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8k e3Rlc3RfbmFtZX1fdGVzdC5iYXQpCistICAgICAgICBmaWxlKFdSSVRFICR7YmF0X2ZpbGV9ICJA ZWNobyBvZmZcbiIpCistICAgICAgICAjZWFjaCBsaW5lIHNldHMgYW4gZW52aXJvbm1lbnQgdmFy aWFibGUKKy0gICAgICAgIGZvcmVhY2goZW52aXJvbiAke2Vudmlyb25zfSkKKy0gICAgICAgICAg ICBmaWxlKEFQUEVORCAke2JhdF9maWxlfSAiU0VUICR7ZW52aXJvbn1cbiIpCistICAgICAgICBl bmRmb3JlYWNoKGVudmlyb24pCistICAgICAgICAjbG9hZCB0aGUgY29tbWFuZCB0byBydW4gd2l0 aCBpdHMgYXJndW1lbnRzCistICAgICAgICBmb3JlYWNoKGFyZyAke0FSR059KQorLSAgICAgICAg ICAgIGZpbGUoQVBQRU5EICR7YmF0X2ZpbGV9ICIke2FyZ30gIikKKy0gICAgICAgIGVuZGZvcmVh Y2goYXJnKQorLSAgICAgICAgZmlsZShBUFBFTkQgJHtiYXRfZmlsZX0gIlxuIikKKy0KKy0gICAg ICAgIGFkZF90ZXN0KCR7dGVzdF9uYW1lfSAke2JhdF9maWxlfSkKKy0gICAgZW5kaWYoV0lOMzIp CistCistZW5kZnVuY3Rpb24oR1JfQUREX1RFU1QpCitkaWZmIC0tZ2l0IGEvY21ha2UvTW9kdWxl cy9Vc2VTV0lHLmNtYWtlIGIvY21ha2UvTW9kdWxlcy9Vc2VTV0lHLmNtYWtlCitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IGI3ZTNlMDUuLjAwMDAwMDAKKy0tLSBjbWFrZS9Nb2R1bGVz L1VzZVNXSUcuY21ha2UKKysrKyAvZGV2L251bGwKK0BAIC0xLDMwNCArMCwwIEBACistIyAtIFNX SUcgbW9kdWxlIGZvciBDTWFrZQorLSMgRGVmaW5lcyB0aGUgZm9sbG93aW5nIG1hY3JvczoKKy0j ICAgU1dJR19BRERfTU9EVUxFKG5hbWUgbGFuZ3VhZ2UgWyBmaWxlcyBdKQorLSMgICAgIC0gRGVm aW5lIHN3aWcgbW9kdWxlIHdpdGggZ2l2ZW4gbmFtZSBhbmQgc3BlY2lmaWVkIGxhbmd1YWdlCist IyAgIFNXSUdfTElOS19MSUJSQVJJRVMobmFtZSBbIGxpYnJhcmllcyBdKQorLSMgICAgIC0gTGlu ayBsaWJyYXJpZXMgdG8gc3dpZyBtb2R1bGUKKy0jIEFsbCBvdGhlciBtYWNyb3MgYXJlIGZvciBp bnRlcm5hbCB1c2Ugb25seS4KKy0jIFRvIGdldCB0aGUgYWN0dWFsIG5hbWUgb2YgdGhlIHN3aWcg bW9kdWxlLAorLSMgdXNlOiAke1NXSUdfTU9EVUxFXyR7bmFtZX1fUkVBTF9OQU1FfS4KKy0jIFNl dCBTb3VyY2UgZmlsZXMgcHJvcGVydGllcyBzdWNoIGFzIENQTFVTUExVUyBhbmQgU1dJR19GTEFH UyB0byBzcGVjaWZ5CistIyBzcGVjaWFsIGJlaGF2aW9yIG9mIFNXSUcuIEFsc28gZ2xvYmFsIENN QUtFX1NXSUdfRkxBR1MgY2FuIGJlIHVzZWQgdG8gYWRkCistIyBzcGVjaWFsIGZsYWdzIHRvIGFs bCBzd2lnIGNhbGxzLgorLSMgQW5vdGhlciBzcGVjaWFsIHZhcmlhYmxlIGlzIENNQUtFX1NXSUdf T1VURElSLCBpdCBhbGxvd3Mgb25lIHRvIHNwZWNpZnkKKy0jIHdoZXJlIHRvIHdyaXRlIGFsbCB0 aGUgc3dpZyBnZW5lcmF0ZWQgbW9kdWxlIChzd2lnIC1vdXRkaXIgb3B0aW9uKQorLSMgVGhlIG5h bWUtc3BlY2lmaWMgdmFyaWFibGUgU1dJR19NT0RVTEVfPG5hbWU+X0VYVFJBX0RFUFMgbWF5IGJl IHVzZWQKKy0jIHRvIHNwZWNpZnkgZXh0cmEgZGVwZW5kZW5jaWVzIGZvciB0aGUgZ2VuZXJhdGVk IG1vZHVsZXMuCistIyBJZiB0aGUgc291cmNlIGZpbGUgZ2VuZXJhdGVkIGJ5IHN3aWcgbmVlZCBz b21lIHNwZWNpYWwgZmxhZyB5b3UgY2FuIHVzZQorLSMgc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0 aWVzKCAke3N3aWdfZ2VuZXJhdGVkX2ZpbGVfZnVsbG5hbWV9CistIyAgICAgICAgUFJPUEVSVElF UyBDT01QSUxFX0ZMQUdTICItYmxhIikKKy0KKy0KKy0jPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0j IENvcHlyaWdodCAyMDA0LTIwMDkgS2l0d2FyZSwgSW5jLgorLSMgQ29weXJpZ2h0IDIwMDkgTWF0 aGlldSBNYWxhdGVycmUgPG1hdGhpZXUubWFsYXRlcnJlQGdtYWlsLmNvbT4KKy0jCistIyBEaXN0 cmlidXRlZCB1bmRlciB0aGUgT1NJLWFwcHJvdmVkIEJTRCBMaWNlbnNlICh0aGUgIkxpY2Vuc2Ui KTsKKy0jIHNlZSBhY2NvbXBhbnlpbmcgZmlsZSBDb3B5cmlnaHQudHh0IGZvciBkZXRhaWxzLgor LSMKKy0jIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUKKy0jIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgorLSMgU2VlIHRoZSBMaWNlbnNl IGZvciBtb3JlIGluZm9ybWF0aW9uLgorLSM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLSMgKFRvIGRp c3RyaWJ1dGUgdGhpcyBmaWxlIG91dHNpZGUgb2YgQ01ha2UsIHN1YnN0aXR1dGUgdGhlIGZ1bGwK Ky0jICBMaWNlbnNlIHRleHQgZm9yIHRoZSBhYm92ZSByZWZlcmVuY2UuKQorLQorLXNldChTV0lH X0NYWF9FWFRFTlNJT04gImN4eCIpCistc2V0KFNXSUdfRVhUUkFfTElCUkFSSUVTICIiKQorLQor LXNldChTV0lHX1BZVEhPTl9FWFRSQV9GSUxFX0VYVEVOU0lPTiAicHkiKQorLQorLSMKKy0jIEZv ciBnaXZlbiBzd2lnIG1vZHVsZSBpbml0aWFsaXplIHZhcmlhYmxlcyBhc3NvY2lhdGVkIHdpdGgg aXQKKy0jCistbWFjcm8oU1dJR19NT0RVTEVfSU5JVElBTElaRSBuYW1lIGxhbmd1YWdlKQorLSAg c3RyaW5nKFRPVVBQRVIgIiR7bGFuZ3VhZ2V9IiBzd2lnX3VwcGVyY2FzZV9sYW5ndWFnZSkKKy0g IHN0cmluZyhUT0xPV0VSICIke2xhbmd1YWdlfSIgc3dpZ19sb3dlcmNhc2VfbGFuZ3VhZ2UpCist ICBzZXQoU1dJR19NT0RVTEVfJHtuYW1lfV9MQU5HVUFHRSAiJHtzd2lnX3VwcGVyY2FzZV9sYW5n dWFnZX0iKQorLSAgc2V0KFNXSUdfTU9EVUxFXyR7bmFtZX1fU1dJR19MQU5HVUFHRV9GTEFHICIk e3N3aWdfbG93ZXJjYXNlX2xhbmd1YWdlfSIpCistCistICBzZXQoU1dJR19NT0RVTEVfJHtuYW1l fV9SRUFMX05BTUUgIiR7bmFtZX0iKQorLSAgaWYoIiR7U1dJR19NT0RVTEVfJHtuYW1lfV9MQU5H VUFHRX0iIFNUUkVRVUFMICJVTktOT1dOIikKKy0gICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiU1dJ RyBFcnJvcjogTGFuZ3VhZ2UgXCIke2xhbmd1YWdlfVwiIG5vdCBmb3VuZCIpCistICBlbHNlaWYo IiR7U1dJR19NT0RVTEVfJHtuYW1lfV9MQU5HVUFHRX0iIFNUUkVRVUFMICJQWVRIT04iKQorLSAg ICAjIHdoZW4gc3dpZyBpcyB1c2VkIHdpdGhvdXQgdGhlIC1pbnRlcmZhY2UgaXQgd2lsbCBwcm9k dWNlIGluIHRoZSBtb2R1bGUucHkKKy0gICAgIyBhICdpbXBvcnQgX21vZHVsZW5hbWUnIHN0YXRl bWVudCwgd2hpY2ggaW1wbGllcyBoYXZpbmcgYSBjb3JyZXNwb25kaW5nCistICAgICMgX21vZHVs ZW5hbWUuc28gKCpOSVgpLCBfbW9kdWxlbmFtZS5weWQgKFdpbjMyKS4KKy0gICAgc2V0KFNXSUdf TU9EVUxFXyR7bmFtZX1fUkVBTF9OQU1FICJfJHtuYW1lfSIpCistICBlbHNlaWYoIiR7U1dJR19N T0RVTEVfJHtuYW1lfV9MQU5HVUFHRX0iIFNUUkVRVUFMICJQRVJMIikKKy0gICAgc2V0KFNXSUdf TU9EVUxFXyR7bmFtZX1fRVhUUkFfRkxBR1MgIi1zaGFkb3ciKQorLSAgZW5kaWYoKQorLWVuZG1h Y3JvKCkKKy0KKy0jCistIyBGb3IgYSBnaXZlbiBsYW5ndWFnZSwgaW5wdXQgZmlsZSwgYW5kIG91 dHB1dCBmaWxlLCBkZXRlcm1pbmUgZXh0cmEgZmlsZXMgdGhhdAorLSMgd2lsbCBiZSBnZW5lcmF0 ZWQuIFRoaXMgaXMgaW50ZXJuYWwgc3dpZyBtYWNyby4KKy0jCistCistbWFjcm8oU1dJR19HRVRf RVhUUkFfT1VUUFVUX0ZJTEVTIGxhbmd1YWdlIG91dGZpbGVzIGdlbmVyYXRlZHBhdGggaW5maWxl KQorLSAgc2V0KCR7b3V0ZmlsZXN9ICIiKQorLSAgZ2V0X3NvdXJjZV9maWxlX3Byb3BlcnR5KFNX SUdfR0VUX0VYVFJBX09VVFBVVF9GSUxFU19tb2R1bGVfYmFzZW5hbWUKKy0gICAgJHtpbmZpbGV9 IFNXSUdfTU9EVUxFX05BTUUpCistICBpZihTV0lHX0dFVF9FWFRSQV9PVVRQVVRfRklMRVNfbW9k dWxlX2Jhc2VuYW1lIFNUUkVRVUFMICJOT1RGT1VORCIpCistICAgIGdldF9maWxlbmFtZV9jb21w b25lbnQoU1dJR19HRVRfRVhUUkFfT1VUUFVUX0ZJTEVTX21vZHVsZV9iYXNlbmFtZSAiJHtpbmZp bGV9IiBOQU1FX1dFKQorLSAgZW5kaWYoKQorLSAgZm9yZWFjaChpdCAke1NXSUdfJHtsYW5ndWFn ZX1fRVhUUkFfRklMRV9FWFRFTlNJT059KQorLSAgICBzZXQoJHtvdXRmaWxlc30gJHske291dGZp bGVzfX0KKy0gICAgICAiJHtnZW5lcmF0ZWRwYXRofS8ke1NXSUdfR0VUX0VYVFJBX09VVFBVVF9G SUxFU19tb2R1bGVfYmFzZW5hbWV9LiR7aXR9IikKKy0gIGVuZGZvcmVhY2goKQorLWVuZG1hY3Jv KCkKKy0KKy0jCistIyBUYWtlIHN3aWcgKCouaSkgZmlsZSBhbmQgYWRkIHByb3BlciBjdXN0b20g Y29tbWFuZHMgZm9yIGl0CistIworLW1hY3JvKFNXSUdfQUREX1NPVVJDRV9UT19NT0RVTEUgbmFt ZSBvdXRmaWxlcyBpbmZpbGUpCistICBzZXQoc3dpZ19mdWxsX2luZmlsZSAke2luZmlsZX0pCist ICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KHN3aWdfc291cmNlX2ZpbGVfcGF0aCAiJHtpbmZpbGV9 IiBQQVRIKQorLSAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChzd2lnX3NvdXJjZV9maWxlX25hbWVf d2UgIiR7aW5maWxlfSIgTkFNRV9XRSkKKy0gIGdldF9zb3VyY2VfZmlsZV9wcm9wZXJ0eShzd2ln X3NvdXJjZV9maWxlX2dlbmVyYXRlZCAke2luZmlsZX0gR0VORVJBVEVEKQorLSAgZ2V0X3NvdXJj ZV9maWxlX3Byb3BlcnR5KHN3aWdfc291cmNlX2ZpbGVfY3BsdXNwbHVzICR7aW5maWxlfSBDUExV U1BMVVMpCistICBnZXRfc291cmNlX2ZpbGVfcHJvcGVydHkoc3dpZ19zb3VyY2VfZmlsZV9mbGFn cyAke2luZmlsZX0gU1dJR19GTEFHUykKKy0gIGlmKCIke3N3aWdfc291cmNlX2ZpbGVfZmxhZ3N9 IiBTVFJFUVVBTCAiTk9URk9VTkQiKQorLSAgICBzZXQoc3dpZ19zb3VyY2VfZmlsZV9mbGFncyAi IikKKy0gIGVuZGlmKCkKKy0gIHNldChzd2lnX3NvdXJjZV9maWxlX2Z1bGxuYW1lICIke2luZmls ZX0iKQorLSAgaWYoJHtzd2lnX3NvdXJjZV9maWxlX3BhdGh9IE1BVENIRVMgIl4ke0NNQUtFX0NV UlJFTlRfU09VUkNFX0RJUn0iKQorLSAgICBzdHJpbmcoUkVHRVggUkVQTEFDRQorLSAgICAgICJe JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9IiAiIgorLSAgICAgIHN3aWdfc291cmNlX2ZpbGVf cmVsYXRpdmVfcGF0aAorLSAgICAgICIke3N3aWdfc291cmNlX2ZpbGVfcGF0aH0iKQorLSAgZWxz ZSgpCistICAgIGlmKCR7c3dpZ19zb3VyY2VfZmlsZV9wYXRofSBNQVRDSEVTICJeJHtDTUFLRV9D VVJSRU5UX0JJTkFSWV9ESVJ9IikKKy0gICAgICBzdHJpbmcoUkVHRVggUkVQTEFDRQorLSAgICAg ICAgIl4ke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0iICIiCistICAgICAgICBzd2lnX3NvdXJj ZV9maWxlX3JlbGF0aXZlX3BhdGgKKy0gICAgICAgICIke3N3aWdfc291cmNlX2ZpbGVfcGF0aH0i KQorLSAgICAgIHNldChzd2lnX3NvdXJjZV9maWxlX2dlbmVyYXRlZCAxKQorLSAgICBlbHNlKCkK Ky0gICAgICBzZXQoc3dpZ19zb3VyY2VfZmlsZV9yZWxhdGl2ZV9wYXRoICIke3N3aWdfc291cmNl X2ZpbGVfcGF0aH0iKQorLSAgICAgIGlmKHN3aWdfc291cmNlX2ZpbGVfZ2VuZXJhdGVkKQorLSAg ICAgICAgc2V0KHN3aWdfc291cmNlX2ZpbGVfZnVsbG5hbWUgIiR7Q01BS0VfQ1VSUkVOVF9CSU5B UllfRElSfS8ke2luZmlsZX0iKQorLSAgICAgIGVsc2UoKQorLSAgICAgICAgc2V0KHN3aWdfc291 cmNlX2ZpbGVfZnVsbG5hbWUgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8ke2luZmlsZX0i KQorLSAgICAgIGVuZGlmKCkKKy0gICAgZW5kaWYoKQorLSAgZW5kaWYoKQorLQorLSAgc2V0KHN3 aWdfZ2VuZXJhdGVkX2ZpbGVfZnVsbG5hbWUKKy0gICAgIiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllf RElSfSIpCistICBpZihzd2lnX3NvdXJjZV9maWxlX3JlbGF0aXZlX3BhdGgpCistICAgIHNldChz d2lnX2dlbmVyYXRlZF9maWxlX2Z1bGxuYW1lCistICAgICAgIiR7c3dpZ19nZW5lcmF0ZWRfZmls ZV9mdWxsbmFtZX0vJHtzd2lnX3NvdXJjZV9maWxlX3JlbGF0aXZlX3BhdGh9IikKKy0gIGVuZGlm KCkKKy0gICMgSWYgQ01BS0VfU1dJR19PVVRESVIgd2FzIHNwZWNpZmllZCB0aGVuIHBhc3MgaXQg dG8gLW91dGRpcgorLSAgaWYoQ01BS0VfU1dJR19PVVRESVIpCistICAgIHNldChzd2lnX291dGRp ciAke0NNQUtFX1NXSUdfT1VURElSfSkKKy0gIGVsc2UoKQorLSAgICBzZXQoc3dpZ19vdXRkaXIg JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9KQorLSAgZW5kaWYoKQorLSAgU1dJR19HRVRfRVhU UkFfT1VUUFVUX0ZJTEVTKCR7U1dJR19NT0RVTEVfJHtuYW1lfV9MQU5HVUFHRX0KKy0gICAgc3dp Z19leHRyYV9nZW5lcmF0ZWRfZmlsZXMKKy0gICAgIiR7c3dpZ19vdXRkaXJ9IgorLSAgICAiJHtp bmZpbGV9IikKKy0gIHNldChzd2lnX2dlbmVyYXRlZF9maWxlX2Z1bGxuYW1lCistICAgICIke3N3 aWdfZ2VuZXJhdGVkX2ZpbGVfZnVsbG5hbWV9LyR7c3dpZ19zb3VyY2VfZmlsZV9uYW1lX3dlfSIp CistICAjIGFkZCB0aGUgbGFuZ3VhZ2UgaW50byB0aGUgbmFtZSBvZiB0aGUgZmlsZSAoaS5lLiBU Q0xfd3JhcCkKKy0gICMgdGhpcyBhbGxvd3MgZm9yIHRoZSBzYW1lIC5pIGZpbGUgdG8gYmUgd3Jh cHBlZCBpbnRvIGRpZmZlcmVudCBsYW5ndWFnZXMKKy0gIHNldChzd2lnX2dlbmVyYXRlZF9maWxl X2Z1bGxuYW1lCistICAgICIke3N3aWdfZ2VuZXJhdGVkX2ZpbGVfZnVsbG5hbWV9JHtTV0lHX01P RFVMRV8ke25hbWV9X0xBTkdVQUdFfV93cmFwIikKKy0KKy0gIGlmKHN3aWdfc291cmNlX2ZpbGVf Y3BsdXNwbHVzKQorLSAgICBzZXQoc3dpZ19nZW5lcmF0ZWRfZmlsZV9mdWxsbmFtZQorLSAgICAg ICIke3N3aWdfZ2VuZXJhdGVkX2ZpbGVfZnVsbG5hbWV9LiR7U1dJR19DWFhfRVhURU5TSU9OfSIp CistICBlbHNlKCkKKy0gICAgc2V0KHN3aWdfZ2VuZXJhdGVkX2ZpbGVfZnVsbG5hbWUKKy0gICAg ICAiJHtzd2lnX2dlbmVyYXRlZF9maWxlX2Z1bGxuYW1lfS5jIikKKy0gIGVuZGlmKCkKKy0KKy0g ICMgU2h1dCB1cCBzb21lIHdhcm5pbmdzIGZyb20gcG9vciBTV0lHIGNvZGUgZ2VuZXJhdGlvbiB0 aGF0IHdlCistICAjIGNhbiBkbyBub3RoaW5nIGFib3V0LCB3aGVuIHRoaXMgZmxhZyBpcyBhdmFp bGFibGUKKy0gIGluY2x1ZGUoQ2hlY2tDWFhDb21waWxlckZsYWcpCistICBjaGVja19jeHhfY29t cGlsZXJfZmxhZygiLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZSIgSEFWRV9XTk9fVU5VU0VE X0JVVF9TRVRfVkFSSUFCTEUpCistICBpZihIQVZFX1dOT19VTlVTRURfQlVUX1NFVF9WQVJJQUJM RSkKKy0gICAgc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7c3dpZ19nZW5lcmF0ZWRfZmls ZV9mdWxsbmFtZX0KKy0gICAgICBQUk9QRVJUSUVTIENPTVBJTEVfRkxBR1MgIi1Xbm8tdW51c2Vk LWJ1dC1zZXQtdmFyaWFibGUiKQorLSAgZW5kaWYoSEFWRV9XTk9fVU5VU0VEX0JVVF9TRVRfVkFS SUFCTEUpCistCistICBnZXRfZGlyZWN0b3J5X3Byb3BlcnR5KGNtYWtlX2luY2x1ZGVfZGlyZWN0 b3JpZXMgSU5DTFVERV9ESVJFQ1RPUklFUykKKy0gIHNldChzd2lnX2luY2x1ZGVfZGlycykKKy0g IGZvcmVhY2goaXQgJHtjbWFrZV9pbmNsdWRlX2RpcmVjdG9yaWVzfSkKKy0gICAgc2V0KHN3aWdf aW5jbHVkZV9kaXJzICR7c3dpZ19pbmNsdWRlX2RpcnN9ICItSSR7aXR9IikKKy0gIGVuZGZvcmVh Y2goKQorLQorLSAgc2V0KHN3aWdfc3BlY2lhbF9mbGFncykKKy0gICMgZGVmYXVsdCBpcyBjLCBz byBhZGQgYysrIGZsYWcgaWYgaXQgaXMgYysrCistICBpZihzd2lnX3NvdXJjZV9maWxlX2NwbHVz cGx1cykKKy0gICAgc2V0KHN3aWdfc3BlY2lhbF9mbGFncyAke3N3aWdfc3BlY2lhbF9mbGFnc30g Ii1jKysiKQorLSAgZW5kaWYoKQorLSAgc2V0KHN3aWdfZXh0cmFfZmxhZ3MpCistICBpZihTV0lH X01PRFVMRV8ke25hbWV9X0VYVFJBX0ZMQUdTKQorLSAgICBzZXQoc3dpZ19leHRyYV9mbGFncyAk e3N3aWdfZXh0cmFfZmxhZ3N9ICR7U1dJR19NT0RVTEVfJHtuYW1lfV9FWFRSQV9GTEFHU30pCist ICBlbmRpZigpCistCistICAjIGhhY2sgdG8gd29yayBhcm91bmQgQ01ha2UgYnVnIGluIGFkZF9j dXN0b21fY29tbWFuZCB3aXRoIG11bHRpcGxlIE9VVFBVVCBmaWxlcworLQorLSAgZmlsZShSRUxB VElWRV9QQVRIIHJlbGRpciAke0NNQUtFX0JJTkFSWV9ESVJ9ICR7Q01BS0VfQ1VSUkVOVF9CSU5B UllfRElSfSkKKy0gIGV4ZWN1dGVfcHJvY2VzcygKKy0gICAgQ09NTUFORCAke1BZVEhPTl9FWEVD VVRBQkxFfSAtYyAiaW1wb3J0IHJlLCBoYXNobGliCistdW5pcXVlID0gaGFzaGxpYi5tZDUoJyR7 cmVsZGlyfSR7QVJHTn0nKS5oZXhkaWdlc3QoKVs6NV0KKy1wcmludChyZS5zdWIoJ1xcVycsICdf JywgJyR7bmFtZX0gJHtyZWxkaXJ9ICcgKyB1bmlxdWUpKSIKKy0gICAgT1VUUFVUX1ZBUklBQkxF IF90YXJnZXQgT1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UKKy0gICkKKy0KKy0gIGZp bGUoCistICAgIFdSSVRFICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke190YXJnZXR9LmNw cC5pbgorLSAgICJpbnQgbWFpbih2b2lkKXtyZXR1cm4gMDt9XG4iCistICApCistCistICAjIGNy ZWF0ZSBkdW1teSBkZXBlbmRlbmNpZXMKKy0gIGFkZF9jdXN0b21fY29tbWFuZCgKKy0gICAgT1VU UFVUICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke190YXJnZXR9LmNwcAorLSAgICBDT01N QU5EICR7Q01BS0VfQ09NTUFORH0gLUUgY29weQorLSAgICAgICAgJHtDTUFLRV9DVVJSRU5UX0JJ TkFSWV9ESVJ9LyR7X3RhcmdldH0uY3BwLmluCistICAgICAgICAke0NNQUtFX0NVUlJFTlRfQklO QVJZX0RJUn0vJHtfdGFyZ2V0fS5jcHAKKy0gICAgREVQRU5EUyAiJHtzd2lnX3NvdXJjZV9maWxl X2Z1bGxuYW1lfSIgJHtTV0lHX01PRFVMRV8ke25hbWV9X0VYVFJBX0RFUFN9CistICAgIENPTU1F TlQgIiIKKy0gICkKKy0KKy0gICMgY3JlYXRlIHRoZSBkdW1teSB0YXJnZXQKKy0gIGFkZF9leGVj dXRhYmxlKCR7X3RhcmdldH0gJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7X3RhcmdldH0u Y3BwKQorLQorLSAgIyBhZGQgYSBjdXN0b20gY29tbWFuZCB0byB0aGUgZHVtbXkgdGFyZ2V0Cist ICBhZGRfY3VzdG9tX2NvbW1hbmQoCistICAgIFRBUkdFVCAke190YXJnZXR9CistICAgICMgTGV0 J3MgY3JlYXRlIHRoZSAke3N3aWdfb3V0ZGlyfSBhdCBleGVjdXRpb24gdGltZSwgaW4gY2FzZSBk aXIgY29udGFpbnMgJChPdXREaXIpCistICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBt YWtlX2RpcmVjdG9yeSAke3N3aWdfb3V0ZGlyfQorLSAgICBDT01NQU5EICIke1NXSUdfRVhFQ1VU QUJMRX0iCistICAgIEFSR1MgIi0ke1NXSUdfTU9EVUxFXyR7bmFtZX1fU1dJR19MQU5HVUFHRV9G TEFHfSIKKy0gICAgJHtzd2lnX3NvdXJjZV9maWxlX2ZsYWdzfQorLSAgICAke0NNQUtFX1NXSUdf RkxBR1N9CistICAgIC1vdXRkaXIgJHtzd2lnX291dGRpcn0KKy0gICAgJHtzd2lnX3NwZWNpYWxf ZmxhZ3N9CistICAgICR7c3dpZ19leHRyYV9mbGFnc30KKy0gICAgJHtzd2lnX2luY2x1ZGVfZGly c30KKy0gICAgLW8gIiR7c3dpZ19nZW5lcmF0ZWRfZmlsZV9mdWxsbmFtZX0iCistICAgICIke3N3 aWdfc291cmNlX2ZpbGVfZnVsbG5hbWV9IgorLSAgICBDT01NRU5UICJTd2lnIHNvdXJjZSIKKy0g ICkKKy0KKy0gICNhZGQgZHVtbXkgaW5kZXBlbmRlbnQgZGVwZW5kZW5jaWVzIGZyb20gdGhlIF90 YXJnZXQgdG8gZWFjaCBmaWxlCistICAjdGhhdCB3aWxsIGJlIGdlbmVyYXRlZCBieSB0aGUgU1dJ RyBjb21tYW5kIGFib3ZlCistCistICBzZXQoJHtvdXRmaWxlc30gIiR7c3dpZ19nZW5lcmF0ZWRf ZmlsZV9mdWxsbmFtZX0iICR7c3dpZ19leHRyYV9nZW5lcmF0ZWRfZmlsZXN9KQorLQorLSAgZm9y ZWFjaChzd2lnX2dlbl9maWxlICR7JHtvdXRmaWxlc319KQorLSAgICBhZGRfY3VzdG9tX2NvbW1h bmQoCistICAgICAgT1VUUFVUICR7c3dpZ19nZW5fZmlsZX0KKy0gICAgICBDT01NQU5EICIke0NN QUtFX0NPTU1BTkR9IiAtRSB0b3VjaF9ub2NyZWF0ZSAiJHtzd2lnX2dlbl9maWxlfSIKKy0gICAg ICBERVBFTkRTICR7X3RhcmdldH0KKy0gICAgICBDT01NRU5UICJkdW1teSBjb21tYW5kIHRvIHNo b3cgJHtfdGFyZ2V0fSBkZXBlbmRlbmN5IG9mICR7c3dpZ19nZW5fZmlsZX0iCistICAgICkKKy0g IGVuZGZvcmVhY2goKQorLQorLSAgc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKAorLSAgICAk e291dGZpbGVzfSBQUk9QRVJUSUVTIEdFTkVSQVRFRCAxCistICApCistCistZW5kbWFjcm8oKQor LQorLSMKKy0jIENyZWF0ZSBTd2lnIG1vZHVsZQorLSMKKy1tYWNybyhTV0lHX0FERF9NT0RVTEUg bmFtZSBsYW5ndWFnZSkKKy0gIFNXSUdfTU9EVUxFX0lOSVRJQUxJWkUoJHtuYW1lfSAke2xhbmd1 YWdlfSkKKy0gIHNldChzd2lnX2RvdF9pX3NvdXJjZXMpCistICBzZXQoc3dpZ19vdGhlcl9zb3Vy Y2VzKQorLSAgZm9yZWFjaChpdCAke0FSR059KQorLSAgICBpZigke2l0fSBNQVRDSEVTICIuKlxc LmkkIikKKy0gICAgICBzZXQoc3dpZ19kb3RfaV9zb3VyY2VzICR7c3dpZ19kb3RfaV9zb3VyY2Vz fSAiJHtpdH0iKQorLSAgICBlbHNlKCkKKy0gICAgICBzZXQoc3dpZ19vdGhlcl9zb3VyY2VzICR7 c3dpZ19vdGhlcl9zb3VyY2VzfSAiJHtpdH0iKQorLSAgICBlbmRpZigpCistICBlbmRmb3JlYWNo KCkKKy0KKy0gIHNldChzd2lnX2dlbmVyYXRlZF9zb3VyY2VzKQorLSAgZm9yZWFjaChpdCAke3N3 aWdfZG90X2lfc291cmNlc30pCistICAgIFNXSUdfQUREX1NPVVJDRV9UT19NT0RVTEUoJHtuYW1l fSBzd2lnX2dlbmVyYXRlZF9zb3VyY2UgJHtpdH0pCistICAgIHNldChzd2lnX2dlbmVyYXRlZF9z b3VyY2VzICR7c3dpZ19nZW5lcmF0ZWRfc291cmNlc30gIiR7c3dpZ19nZW5lcmF0ZWRfc291cmNl fSIpCistICBlbmRmb3JlYWNoKCkKKy0gIGdldF9kaXJlY3RvcnlfcHJvcGVydHkoc3dpZ19leHRy YV9jbGVhbl9maWxlcyBBRERJVElPTkFMX01BS0VfQ0xFQU5fRklMRVMpCistICBzZXRfZGlyZWN0 b3J5X3Byb3BlcnRpZXMoUFJPUEVSVElFUworLSAgICBBRERJVElPTkFMX01BS0VfQ0xFQU5fRklM RVMgIiR7c3dpZ19leHRyYV9jbGVhbl9maWxlc307JHtzd2lnX2dlbmVyYXRlZF9zb3VyY2VzfSIp CistICBhZGRfbGlicmFyeSgke1NXSUdfTU9EVUxFXyR7bmFtZX1fUkVBTF9OQU1FfQorLSAgICBN T0RVTEUKKy0gICAgJHtzd2lnX2dlbmVyYXRlZF9zb3VyY2VzfQorLSAgICAke3N3aWdfb3RoZXJf c291cmNlc30pCistICBzdHJpbmcoVE9MT1dFUiAiJHtsYW5ndWFnZX0iIHN3aWdfbG93ZXJjYXNl X2xhbmd1YWdlKQorLSAgaWYgKCIke3N3aWdfbG93ZXJjYXNlX2xhbmd1YWdlfSIgU1RSRVFVQUwg ImphdmEiKQorLSAgICBpZiAoQVBQTEUpCistICAgICAgICAjIEluIGphdmEgeW91IHdhbnQ6Cist ICAgICAgICAjICAgICAgU3lzdGVtLmxvYWRMaWJyYXJ5KCJMSUJSQVJZIik7CistICAgICAgICAj IHRoZW4gSk5JIHdpbGwgbG9vayBmb3IgYSBsaWJyYXJ5IHdob3NlIG5hbWUgaXMgcGxhdGZvcm0g ZGVwZW5kZW50LCBuYW1lbHkKKy0gICAgICAgICMgICBNYWNPUyAgOiBsaWJMSUJSQVJZLmpuaWxp YgorLSAgICAgICAgIyAgIFdpbmRvd3M6IExJQlJBUlkuZGxsCistICAgICAgICAjICAgTGludXgg IDogbGliTElCUkFSWS5zbworLSAgICAgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzICgke1NXSUdf TU9EVUxFXyR7bmFtZX1fUkVBTF9OQU1FfSBQUk9QRVJUSUVTIFNVRkZJWCAiLmpuaWxpYiIpCist ICAgICAgZW5kaWYgKCkKKy0gIGVuZGlmICgpCistICBpZiAoIiR7c3dpZ19sb3dlcmNhc2VfbGFu Z3VhZ2V9IiBTVFJFUVVBTCAicHl0aG9uIikKKy0gICAgIyB0aGlzIGlzIG9ubHkgbmVlZGVkIGZv ciB0aGUgcHl0aG9uIGNhc2Ugd2hlcmUgYSBfbW9kdWxlbmFtZS5zbyBpcyBnZW5lcmF0ZWQKKy0g ICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7U1dJR19NT0RVTEVfJHtuYW1lfV9SRUFMX05BTUV9 IFBST1BFUlRJRVMgUFJFRklYICIiKQorLSAgICAjIFB5dGhvbiBleHRlbnNpb24gbW9kdWxlcyBv biBXaW5kb3dzIG11c3QgaGF2ZSB0aGUgZXh0ZW5zaW9uICIucHlkIgorLSAgICAjIGluc3RlYWQg b2YgIi5kbGwiIGFzIG9mIFB5dGhvbiAyLjUuICBPbGRlciBweXRob24gdmVyc2lvbnMgZG8gc3Vw cG9ydAorLSAgICAjIHRoaXMgc3VmZml4LgorLSAgICAjIGh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcv d2hhdHNuZXcvcG9ydHMuaHRtbCNTRUNUSU9OMDAwMTUxMDAwMDAwMDAwMDAwMDAwMAorLSAgICAj IDxxdW90ZT4KKy0gICAgIyBXaW5kb3dzOiAuZGxsIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgYXMg YSBmaWxlbmFtZSBleHRlbnNpb24gZm9yIGV4dGVuc2lvbiBtb2R1bGVzLgorLSAgICAjIC5weWQg aXMgbm93IHRoZSBvbmx5IGZpbGVuYW1lIGV4dGVuc2lvbiB0aGF0IHdpbGwgYmUgc2VhcmNoZWQg Zm9yLgorLSAgICAjIDwvcXVvdGU+CistICAgIGlmKFdJTjMyIEFORCBOT1QgQ1lHV0lOKQorLSAg ICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke1NXSUdfTU9EVUxFXyR7bmFtZX1fUkVBTF9OQU1F fSBQUk9QRVJUSUVTIFNVRkZJWCAiLnB5ZCIpCistICAgIGVuZGlmKCkKKy0gIGVuZGlmICgpCist ZW5kbWFjcm8oKQorLQorLSMKKy0jIExpa2UgVEFSR0VUX0xJTktfTElCUkFSSUVTIGJ1dCBmb3Ig c3dpZyBtb2R1bGVzCistIworLW1hY3JvKFNXSUdfTElOS19MSUJSQVJJRVMgbmFtZSkKKy0gIGlm KFNXSUdfTU9EVUxFXyR7bmFtZX1fUkVBTF9OQU1FKQorLSAgICB0YXJnZXRfbGlua19saWJyYXJp ZXMoJHtTV0lHX01PRFVMRV8ke25hbWV9X1JFQUxfTkFNRX0gJHtBUkdOfSkKKy0gIGVsc2UoKQor LSAgICBtZXNzYWdlKFNFTkRfRVJST1IgIkNhbm5vdCBmaW5kIFN3aWcgbGlicmFyeSBcIiR7bmFt ZX1cIi4iKQorLSAgZW5kaWYoKQorLWVuZG1hY3JvKCkKK2RpZmYgLS1naXQgYS9jbWFrZS9Nb2R1 bGVzL25yc2M1Q29uZmlnLmNtYWtlIGIvY21ha2UvTW9kdWxlcy9ucnNjNUNvbmZpZy5jbWFrZQor aW5kZXggMmNkMzRhNC4uMDkxMWEyNSAxMDA2NDQKKy0tLSBjbWFrZS9Nb2R1bGVzL25yc2M1Q29u ZmlnLmNtYWtlCisrKysgY21ha2UvTW9kdWxlcy9ucnNjNUNvbmZpZy5jbWFrZQorQEAgLTIyLDkg KzIyLDEwIEBAIEZJTkRfTElCUkFSWSgKKyAgICAgICAgICAgL3Vzci9sb2NhbC9saWI2NAorICAg ICAgICAgICAvdXNyL2xpYgorICAgICAgICAgICAvdXNyL2xpYjY0CistKQorKyAgICAgICAgICAp CisrCisraW5jbHVkZSgiJHtDTUFLRV9DVVJSRU5UX0xJU1RfRElSfS9ucnNjNVRhcmdldC5jbWFr ZSIpCisgCisgSU5DTFVERShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKKyBGSU5EX1BB Q0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoTlJTQzUgREVGQVVMVF9NU0cgTlJTQzVfTElCUkFS SUVTIE5SU0M1X0lOQ0xVREVfRElSUykKKyBNQVJLX0FTX0FEVkFOQ0VEKE5SU0M1X0xJQlJBUklF UyBOUlNDNV9JTkNMVURFX0RJUlMpCistCitkaWZmIC0tZ2l0IGEvcHl0aG9uL2J1aWxkX3V0aWxz X2NvZGVzLnB5IGIvY21ha2UvTW9kdWxlcy90YXJnZXRDb25maWcuY21ha2UuaW4KK3NpbWlsYXJp dHkgaW5kZXggNTIlCityZW5hbWUgZnJvbSBweXRob24vYnVpbGRfdXRpbHNfY29kZXMucHkKK3Jl bmFtZSB0byBjbWFrZS9Nb2R1bGVzL3RhcmdldENvbmZpZy5jbWFrZS5pbgoraW5kZXggOWVhOTZi YS4uNzllNGEyOCAxMDA2NDQKKy0tLSBweXRob24vYnVpbGRfdXRpbHNfY29kZXMucHkKKysrKyBj bWFrZS9Nb2R1bGVzL3RhcmdldENvbmZpZy5jbWFrZS5pbgorQEAgLTEsNSArMSw0IEBACistIwor LSMgQ29weXJpZ2h0IDIwMDQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIyBDb3B5 cmlnaHQgMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAjCisgIyBUaGlzIGZp bGUgaXMgcGFydCBvZiBHTlUgUmFkaW8KKyAjCitAQCAtMTcsMzYgKzE2LDExIEBACisgIyBhbG9u ZyB3aXRoIEdOVSBSYWRpbzsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRv CisgIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl ZXQsCisgIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKy0jCistCistZGVmIGlfY29kZSAo Y29kZTMpOgorLSAgICByZXR1cm4gY29kZTNbMF0KKy0KKy1kZWYgb19jb2RlIChjb2RlMyk6Cist ICAgIGlmIGxlbiAoY29kZTMpID49IDI6CistICAgICAgICByZXR1cm4gY29kZTNbMV0KKy0gICAg ZWxzZToKKy0gICAgICAgIHJldHVybiBjb2RlM1swXQorLQorLWRlZiB0YXBfY29kZSAoY29kZTMp OgorLSAgICBpZiBsZW4gKGNvZGUzKSA+PSAzOgorLSAgICAgICAgcmV0dXJuIGNvZGUzWzJdCist ICAgIGVsc2U6CistICAgICAgICByZXR1cm4gY29kZTNbMF0KKy0KKy1kZWYgaV90eXBlIChjb2Rl Myk6CistICAgIHJldHVybiBjaGFyX3RvX3R5cGVbaV9jb2RlIChjb2RlMyldCistCistZGVmIG9f dHlwZSAoY29kZTMpOgorLSAgICByZXR1cm4gY2hhcl90b190eXBlW29fY29kZSAoY29kZTMpXQor LQorLWRlZiB0YXBfdHlwZSAoY29kZTMpOgorLSAgICByZXR1cm4gY2hhcl90b190eXBlW3RhcF9j b2RlIChjb2RlMyldCisgCisraW5jbHVkZShDTWFrZUZpbmREZXBlbmRlbmN5TWFjcm8pCisgCist Y2hhcl90b190eXBlID0ge30KKy1jaGFyX3RvX3R5cGVbJ3MnXSA9ICdzaG9ydCcKKy1jaGFyX3Rv X3R5cGVbJ2knXSA9ICdpbnQnCistY2hhcl90b190eXBlWydmJ10gPSAnZmxvYXQnCistY2hhcl90 b190eXBlWydjJ10gPSAnZ3JfY29tcGxleCcKKy1jaGFyX3RvX3R5cGVbJ2InXSA9ICd1bnNpZ25l ZCBjaGFyJworK3NldCh0YXJnZXRfZGVwcyAiQFRBUkdFVF9ERVBFTkRFTkNJRVNAIikKKytmb3Jl YWNoKGRlcCBJTiBMSVNUUyB0YXJnZXRfZGVwcykKKysgICAgZmluZF9kZXBlbmRlbmN5KCR7ZGVw fSkKKytlbmRmb3JlYWNoKCkKKytpbmNsdWRlKCIke0NNQUtFX0NVUlJFTlRfTElTVF9ESVJ9L0BU QVJHRVRAVGFyZ2V0cy5jbWFrZSIpCitkaWZmIC0tZ2l0IGEvZG9jcy9DTWFrZUxpc3RzLnR4dCBi L2RvY3MvQ01ha2VMaXN0cy50eHQKK2luZGV4IGYxNmZiZjYuLjJjMzE4ZWUgMTAwNjQ0CistLS0g ZG9jcy9DTWFrZUxpc3RzLnR4dAorKysrIGRvY3MvQ01ha2VMaXN0cy50eHQKK0BAIC0xLDYgKzEs NyBAQAorICMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisg IworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIyBUaGlzIGZpbGUgd2FzIGdl bmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJhZGlvIGZyYW1ld29y aworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1ucnNjNQorICMKKyAjIEdOVSBSYWRpbyBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cisg IyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQorZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdlbi9DTWFrZUxpc3RzLnR4dCBi L2RvY3MvZG94eWdlbi9DTWFrZUxpc3RzLnR4dAoraW5kZXggMWI0NDc5OS4uZDVkOThiOCAxMDA2 NDQKKy0tLSBkb2NzL2RveHlnZW4vQ01ha2VMaXN0cy50eHQKKysrKyBkb2NzL2RveHlnZW4vQ01h a2VMaXN0cy50eHQKK0BAIC0xLDYgKzEsNyBAQAorICMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJh ZGlvCisrIyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJv bSB0aGUgR05VIFJhZGlvIGZyYW1ld29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1u cnNjNQorICMKKyAjIEdOVSBSYWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorZGlmZiAtLWdpdCBhL2RvY3Mv ZG94eWdlbi9Eb3h5ZmlsZS5pbiBiL2RvY3MvZG94eWdlbi9Eb3h5ZmlsZS5pbgoraW5kZXggM2Fk MWE2Ny4uMjBkZmM5NyAxMDA2NDQKKy0tLSBkb2NzL2RveHlnZW4vRG94eWZpbGUuaW4KKysrKyBk b2NzL2RveHlnZW4vRG94eWZpbGUuaW4KK0BAIC02NTQsOCArNjU0LDggQEAgV0FSTl9MT0dGSUxF ICAgICAgICAgICA9CisgIyBkaXJlY3RvcmllcyBsaWtlICIvdXNyL3NyYy9teXByb2plY3QiLiBT ZXBhcmF0ZSB0aGUgZmlsZXMgb3IgZGlyZWN0b3JpZXMKKyAjIHdpdGggc3BhY2VzLgorIAorLUlO UFVUICAgICAgICAgICAgICAgICAgPSBAdG9wX3NyY2RpckAgXAorLSAgICAgICAgICAgICAgICAg ICAgICAgICBAdG9wX2J1aWxkZGlyQAorK0lOUFVUICAgICAgICAgICAgICAgICAgPSAiQHRvcF9z cmNkaXJAIiBcCisrICAgICAgICAgICAgICAgICAgICAgICAgICJAdG9wX2J1aWxkZGlyQCIKKyAK KyAjIFRoaXMgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIGNoYXJhY3RlciBlbmNvZGlu ZyBvZiB0aGUgc291cmNlIGZpbGVzCisgIyB0aGF0IGRveHlnZW4gcGFyc2VzLiBJbnRlcm5hbGx5 IGRveHlnZW4gdXNlcyB0aGUgVVRGLTggZW5jb2RpbmcsIHdoaWNoIGlzCitAQCAtNzkxLDcgKzc5 MSw3IEBAIElOUFVUX0ZJTFRFUiAgICAgICAgICAgPQorICMgaW5mbyBvbiBob3cgZmlsdGVycyBh cmUgdXNlZC4gSWYgRklMVEVSX1BBVFRFUk5TIGlzIGVtcHR5IG9yIGlmCisgIyBub24gb2YgdGhl IHBhdHRlcm5zIG1hdGNoIHRoZSBmaWxlIG5hbWUsIElOUFVUX0ZJTFRFUiBpcyBhcHBsaWVkLgor IAorLUZJTFRFUl9QQVRURVJOUyAgICAgICAgPSAqLnB5PUB0b3Bfc3JjZGlyQC9kb2MvZG94eWdl bi9vdGhlci9kb3h5cHkucHkKKytGSUxURVJfUEFUVEVSTlMgICAgICAgID0gKi5weT0iQHRvcF9z cmNkaXJAIi9kb2MvZG94eWdlbi9vdGhlci9kb3h5cHkucHkKKyAKKyAjIElmIHRoZSBGSUxURVJf U09VUkNFX0ZJTEVTIHRhZyBpcyBzZXQgdG8gWUVTLCB0aGUgaW5wdXQgZmlsdGVyIChpZiBzZXQg dXNpbmcKKyAjIElOUFVUX0ZJTFRFUikgd2lsbCBiZSB1c2VkIHRvIGZpbHRlciB0aGUgaW5wdXQg ZmlsZXMgd2hlbiBwcm9kdWNpbmcgc291cmNlCitAQCAtOTQ2LDcgKzk0Niw3IEBAIEhUTUxfU1RZ TEVTSEVFVCAgICAgICAgPQorICMgdXNlci1kZWZpbmVkIGNhc2NhZGluZyBzdHlsZSBzaGVldCB0 aGF0IGlzIGluY2x1ZGVkIGFmdGVyIHRoZSBzdGFuZGFyZAorICMgc3R5bGUgc2hlZXRzIGNyZWF0 ZWQgYnkgZG94eWdlbi4gVXNpbmcgdGhpcyBvcHRpb24gb25lIGNhbiBvdmVycnVsZQorICMgY2Vy dGFpbiBzdHlsZSBhc3BlY3RzLiBUaGlzIGlzIHByZWZlcnJlZCBvdmVyIHVzaW5nIEhUTUxfU1RZ TEVTSEVFVAorLSMgc2luY2UgaXQgZG9lcyBub3QgcmVwbGFjZSB0aGUgc3RhbmRhcmQgc3R5bGUg c2hlZXQgYW5kIGlzIHRoZXJlZm9yIG1vcmUKKysjIHNpbmNlIGl0IGRvZXMgbm90IHJlcGxhY2Ug dGhlIHN0YW5kYXJkIHN0eWxlIHNoZWV0IGFuZCBpcyB0aGVyZWZvcmUgbW9yZQorICMgcm9idXN0 IGFnYWluc3QgZnV0dXJlIHVwZGF0ZXMuIERveHlnZW4gd2lsbCBjb3B5IHRoZSBzdHlsZSBzaGVl dCBmaWxlIHRvCisgIyB0aGUgb3V0cHV0IGRpcmVjdG9yeS4KKyAKK0BAIC05OTAsNyArOTkwLDcg QEAgSFRNTF9DT0xPUlNUWUxFX0dBTU1BICA9IDgwCisgIyBwYWdlIHdpbGwgY29udGFpbiB0aGUg ZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBwYWdlIHdhcyBnZW5lcmF0ZWQuIFNldHRpbmcKKyAjIHRo aXMgdG8gTk8gY2FuIGhlbHAgd2hlbiBjb21wYXJpbmcgdGhlIG91dHB1dCBvZiBtdWx0aXBsZSBy dW5zLgorIAorLUhUTUxfVElNRVNUQU1QICAgICAgICAgPSBZRVMKKytIVE1MX1RJTUVTVEFNUCAg ICAgICAgID0gTk8KKyAKKyAjIElmIHRoZSBIVE1MX0RZTkFNSUNfU0VDVElPTlMgdGFnIGlzIHNl dCB0byBZRVMgdGhlbiB0aGUgZ2VuZXJhdGVkIEhUTUwKKyAjIGRvY3VtZW50YXRpb24gd2lsbCBj b250YWluIHNlY3Rpb25zIHRoYXQgY2FuIGJlIGhpZGRlbiBhbmQgc2hvd24gYWZ0ZXIgdGhlCitk aWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2VuL0RveHlmaWxlLnN3aWdfZG9jLmluIGIvZG9jcy9kb3h5 Z2VuL0RveHlmaWxlLnN3aWdfZG9jLmluCitpbmRleCAxOWUxN2RjLi5jYmUwNmQ2IDEwMDY0NAor LS0tIGRvY3MvZG94eWdlbi9Eb3h5ZmlsZS5zd2lnX2RvYy5pbgorKysrIGRvY3MvZG94eWdlbi9E b3h5ZmlsZS5zd2lnX2RvYy5pbgorQEAgLTU0LDcgKzU0LDcgQEAgUFJPSkVDVF9MT0dPICAgICAg ICAgICA9CisgIyBJZiBhIHJlbGF0aXZlIHBhdGggaXMgZW50ZXJlZCwgaXQgd2lsbCBiZSByZWxh dGl2ZSB0byB0aGUgbG9jYXRpb24KKyAjIHdoZXJlIGRveHlnZW4gd2FzIHN0YXJ0ZWQuIElmIGxl ZnQgYmxhbmsgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdpbGwgYmUgdXNlZC4KKyAKKy1PVVRQVVRf RElSRUNUT1JZICAgICAgID0gQE9VVFBVVF9ESVJFQ1RPUllACisrT1VUUFVUX0RJUkVDVE9SWSAg ICAgICA9ICJAT1VUUFVUX0RJUkVDVE9SWUAiCisgCisgIyBJZiB0aGUgQ1JFQVRFX1NVQkRJUlMg dGFnIGlzIHNldCB0byBZRVMsIHRoZW4gZG94eWdlbiB3aWxsIGNyZWF0ZQorICMgNDA5NiBzdWIt ZGlyZWN0b3JpZXMgKGluIDIgbGV2ZWxzKSB1bmRlciB0aGUgb3V0cHV0IGRpcmVjdG9yeSBvZiBl YWNoIG91dHB1dAorQEAgLTEyMSw3ICsxMjEsNyBAQCBJTkxJTkVfSU5IRVJJVEVEX01FTUIgID0g Tk8KKyAjIHBhdGggYmVmb3JlIGZpbGVzIG5hbWUgaW4gdGhlIGZpbGUgbGlzdCBhbmQgaW4gdGhl IGhlYWRlciBmaWxlcy4gSWYgc2V0CisgIyB0byBOTyB0aGUgc2hvcnRlc3QgcGF0aCB0aGF0IG1h a2VzIHRoZSBmaWxlIG5hbWUgdW5pcXVlIHdpbGwgYmUgdXNlZC4KKyAKKy1GVUxMX1BBVEhfTkFN RVMgICAgICAgID0gWUVTCisrRlVMTF9QQVRIX05BTUVTICAgICAgICA9IE5PCisgCisgIyBJZiB0 aGUgRlVMTF9QQVRIX05BTUVTIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gdGhlIFNUUklQX0ZST01f UEFUSCB0YWcKKyAjIGNhbiBiZSB1c2VkIHRvIHN0cmlwIGEgdXNlci1kZWZpbmVkIHBhcnQgb2Yg dGhlIHBhdGguIFN0cmlwcGluZyBpcworQEAgLTkxMyw3ICs5MTMsNyBAQCBIVE1MX1NUWUxFU0hF RVQgICAgICAgID0KKyAjIHVzZXItZGVmaW5lZCBjYXNjYWRpbmcgc3R5bGUgc2hlZXQgdGhhdCBp cyBpbmNsdWRlZCBhZnRlciB0aGUgc3RhbmRhcmQKKyAjIHN0eWxlIHNoZWV0cyBjcmVhdGVkIGJ5 IGRveHlnZW4uIFVzaW5nIHRoaXMgb3B0aW9uIG9uZSBjYW4gb3ZlcnJ1bGUKKyAjIGNlcnRhaW4g c3R5bGUgYXNwZWN0cy4gVGhpcyBpcyBwcmVmZXJyZWQgb3ZlciB1c2luZyBIVE1MX1NUWUxFU0hF RVQKKy0jIHNpbmNlIGl0IGRvZXMgbm90IHJlcGxhY2UgdGhlIHN0YW5kYXJkIHN0eWxlIHNoZWV0 IGFuZCBpcyB0aGVyZWZvciBtb3JlCisrIyBzaW5jZSBpdCBkb2VzIG5vdCByZXBsYWNlIHRoZSBz dGFuZGFyZCBzdHlsZSBzaGVldCBhbmQgaXMgdGhlcmVmb3JlIG1vcmUKKyAjIHJvYnVzdCBhZ2Fp bnN0IGZ1dHVyZSB1cGRhdGVzLiBEb3h5Z2VuIHdpbGwgY29weSB0aGUgc3R5bGUgc2hlZXQgZmls ZSB0bworICMgdGhlIG91dHB1dCBkaXJlY3RvcnkuCisgCitAQCAtOTU3LDcgKzk1Nyw3IEBAIEhU TUxfQ09MT1JTVFlMRV9HQU1NQSAgPSA4MAorICMgcGFnZSB3aWxsIGNvbnRhaW4gdGhlIGRhdGUg YW5kIHRpbWUgd2hlbiB0aGUgcGFnZSB3YXMgZ2VuZXJhdGVkLiBTZXR0aW5nCisgIyB0aGlzIHRv IE5PIGNhbiBoZWxwIHdoZW4gY29tcGFyaW5nIHRoZSBvdXRwdXQgb2YgbXVsdGlwbGUgcnVucy4K KyAKKy1IVE1MX1RJTUVTVEFNUCAgICAgICAgID0gWUVTCisrSFRNTF9USU1FU1RBTVAgICAgICAg ICA9IE5PCisgCisgIyBJZiB0aGUgSFRNTF9EWU5BTUlDX1NFQ1RJT05TIHRhZyBpcyBzZXQgdG8g WUVTIHRoZW4gdGhlIGdlbmVyYXRlZCBIVE1MCisgIyBkb2N1bWVudGF0aW9uIHdpbGwgY29udGFp biBzZWN0aW9ucyB0aGF0IGNhbiBiZSBoaWRkZW4gYW5kIHNob3duIGFmdGVyIHRoZQorZGlmZiAt LWdpdCBhL2RvY3MvZG94eWdlbi9kb3h5eG1sL19faW5pdF9fLnB5IGIvZG9jcy9kb3h5Z2VuL2Rv eHl4bWwvX19pbml0X18ucHkKK2luZGV4IDVjZDBiM2MuLjUxNDViNTQgMTAwNjQ0CistLS0gZG9j cy9kb3h5Z2VuL2RveHl4bWwvX19pbml0X18ucHkKKysrKyBkb2NzL2RveHlnZW4vZG94eXhtbC9f X2luaXRfXy5weQorQEAgLTEsNyArMSw4IEBACisgIworICMgQ29weXJpZ2h0IDIwMTAgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V IFJhZGlvCisrIyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wg ZnJvbSB0aGUgR05VIFJhZGlvIGZyYW1ld29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBn ci1ucnNjNQorICMKKyAjIEdOVSBSYWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorQEAgLTYzLDggKzY0LDkg QEAKKyB1J091dHB1dHMgdGhlIHZpdGFsIGFhZHZhcmsgc3RhdGlzdGljcy4nCisgCisgIiIiCisr ZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisgCistZnJvbSBkb3h5aW5k ZXggaW1wb3J0IERveHlJbmRleCwgRG94eUZ1bmN0aW9uLCBEb3h5UGFyYW0sIERveHlDbGFzcywg RG94eUZpbGUsIERveHlOYW1lc3BhY2UsIERveHlHcm91cCwgRG94eUZyaWVuZCwgRG94eU90aGVy CisrZnJvbSAuZG94eWluZGV4IGltcG9ydCBEb3h5SW5kZXgsIERveHlGdW5jdGlvbiwgRG94eVBh cmFtLCBEb3h5Q2xhc3MsIERveHlGaWxlLCBEb3h5TmFtZXNwYWNlLCBEb3h5R3JvdXAsIERveHlG cmllbmQsIERveHlPdGhlcgorIAorIGRlZiBfdGVzdCgpOgorICAgICBpbXBvcnQgb3MKK2RpZmYg LS1naXQgYS9kb2NzL2RveHlnZW4vZG94eXhtbC9iYXNlLnB5IGIvZG9jcy9kb3h5Z2VuL2RveHl4 bWwvYmFzZS5weQoraW5kZXggZThmMDI2YS4uNDQwNGM5NyAxMDA2NDQKKy0tLSBkb2NzL2RveHln ZW4vZG94eXhtbC9iYXNlLnB5CisrKysgZG9jcy9kb3h5Z2VuL2RveHl4bWwvYmFzZS5weQorQEAg LTEsNyArMSw4IEBACisgIworICMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIyBUaGlz IGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJh ZGlvIGZyYW1ld29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1ucnNjNQorICMKKyAj IEdOVSBSYWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisgIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorQEAgLTI0LDI0ICsyNSwyNiBAQAorIENsYXNzZXMg YmFzZWQgdXBvbiB0aGlzIGFyZSB1c2VkIHRvIG1ha2UgbW9yZSB1c2VyLWZyaWVuZGx5IGludGVy ZmFjZXMKKyB0byB0aGUgZG94eWdlbiB4bWwgZG9jcyB0aGFuIHRoZSBnZW5lcmF0ZWQgY2xhc3Nl cyBwcm92aWRlLgorICIiIgorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24K Kytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMKKyAKKyBpbXBvcnQgb3MK KyBpbXBvcnQgcGRiCisgCisgZnJvbSB4bWwucGFyc2Vycy5leHBhdCBpbXBvcnQgRXhwYXRFcnJv cgorIAorLWZyb20gZ2VuZXJhdGVkIGltcG9ydCBjb21wb3VuZAorK2Zyb20gLmdlbmVyYXRlZCBp bXBvcnQgY29tcG91bmQKKyAKKyAKKyBjbGFzcyBCYXNlKG9iamVjdCk6CisgCistICAgIGNsYXNz IER1cGxpY2F0ZShTdGFuZGFyZEVycm9yKToKKysgICAgY2xhc3MgRHVwbGljYXRlKEV4Y2VwdGlv bik6CisgICAgICAgICBwYXNzCisgCistICAgIGNsYXNzIE5vU3VjaE1lbWJlcihTdGFuZGFyZEVy cm9yKToKKysgICAgY2xhc3MgTm9TdWNoTWVtYmVyKEV4Y2VwdGlvbik6CisgICAgICAgICBwYXNz CisgCistICAgIGNsYXNzIFBhcnNpbmdFcnJvcihTdGFuZGFyZEVycm9yKToKKysgICAgY2xhc3Mg UGFyc2luZ0Vycm9yKEV4Y2VwdGlvbik6CisgICAgICAgICBwYXNzCisgCisgICAgIGRlZiBfX2lu aXRfXyhzZWxmLCBwYXJzZV9kYXRhLCB0b3A9Tm9uZSk6CitAQCAtOTQsNyArOTcsNyBAQCBkZWYg Z2V0X2NscyhzZWxmLCBtZW0pOgorICAgICAgICAgZm9yIGNscyBpbiBzZWxmLm1lbV9jbGFzc2Vz OgorICAgICAgICAgICAgIGlmIGNscy5jYW5fcGFyc2UobWVtKToKKyAgICAgICAgICAgICAgICAg cmV0dXJuIGNscworLSAgICAgICAgcmFpc2UgU3RhbmRhcmRFcnJvcigoIkRpZCBub3QgZmluZCBh IGNsYXNzIGZvciBvYmplY3QgJyVzJy4iIFwKKysgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigoIkRp ZCBub3QgZmluZCBhIGNsYXNzIGZvciBvYmplY3QgJyVzJy4iIFwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAlIChtZW0uZ2V0X25hbWUoKSkpKQorIAorICAgICBkZWYgY29udmVy dF9tZW0oc2VsZiwgbWVtKToKK0BAIC0xMDIsMTEgKzEwNSwxMSBAQCBkZWYgY29udmVydF9tZW0o c2VsZiwgbWVtKToKKyAgICAgICAgICAgICBjbHMgPSBzZWxmLmdldF9jbHMobWVtKQorICAgICAg ICAgICAgIGNvbnZlcnRlZCA9IGNscy5mcm9tX3BhcnNlX2RhdGEobWVtLCBzZWxmLnRvcCkKKyAg ICAgICAgICAgICBpZiBjb252ZXJ0ZWQgaXMgTm9uZToKKy0gICAgICAgICAgICAgICAgcmFpc2Ug U3RhbmRhcmRFcnJvcignTm8gY2xhc3MgbWF0Y2hlZCB0aGlzIG9iamVjdC4nKQorKyAgICAgICAg ICAgICAgICByYWlzZSBFeGNlcHRpb24oJ05vIGNsYXNzIG1hdGNoZWQgdGhpcyBvYmplY3QuJykK KyAgICAgICAgICAgICBzZWxmLmFkZF9yZWYoY29udmVydGVkKQorICAgICAgICAgICAgIHJldHVy biBjb252ZXJ0ZWQKKy0gICAgICAgIGV4Y2VwdCBTdGFuZGFyZEVycm9yLCBlOgorLSAgICAgICAg ICAgIHByaW50IGUKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKysgICAgICAgICAg ICBwcmludChlKQorIAorICAgICBAY2xhc3NtZXRob2QKKyAgICAgZGVmIGluY2x1ZGVzKGNscywg aW5zdCk6CitkaWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2VuL2RveHl4bWwvZG94eWluZGV4LnB5IGIv ZG9jcy9kb3h5Z2VuL2RveHl4bWwvZG94eWluZGV4LnB5CitpbmRleCA3OGU4MTUzLi4zMGJhZjEy IDEwMDY0NAorLS0tIGRvY3MvZG94eWdlbi9kb3h5eG1sL2RveHlpbmRleC5weQorKysrIGRvY3Mv ZG94eWdlbi9kb3h5eG1sL2RveHlpbmRleC5weQorQEAgLTEsNyArMSw4IEBACisgIworICMgQ29w eXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgIworLSMgVGhpcyBm aWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBn cl9tb2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJhZGlvIGZyYW1ld29yaworKyMgVGhpcyBm aWxlIGlzIGEgcGFydCBvZiBnci1ucnNjNQorICMKKyAjIEdOVSBSYWRpbyBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorQEAgLTIyLDEyICsyMywxNCBAQAorIENsYXNzZXMgcHJvdmlkaW5nIG1vcmUgdXNlci1mcmll bmRseSBpbnRlcmZhY2VzIHRvIHRoZSBkb3h5Z2VuIHhtbAorIGRvY3MgdGhhbiB0aGUgZ2VuZXJh dGVkIGNsYXNzZXMgcHJvdmlkZS4KKyAiIiIKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29s dXRlX2ltcG9ydAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgdW5pY29kZV9saXRlcmFscworIAor IGltcG9ydCBvcworIAorLWZyb20gZ2VuZXJhdGVkIGltcG9ydCBpbmRleAorLWZyb20gYmFzZSBp bXBvcnQgQmFzZQorLWZyb20gdGV4dCBpbXBvcnQgZGVzY3JpcHRpb24KKytmcm9tIC5nZW5lcmF0 ZWQgaW1wb3J0IGluZGV4CisrZnJvbSAuYmFzZSBpbXBvcnQgQmFzZQorK2Zyb20gLnRleHQgaW1w b3J0IGRlc2NyaXB0aW9uCisgCisgY2xhc3MgRG94eUluZGV4KEJhc2UpOgorICAgICAiIiIKK2Rp ZmYgLS1naXQgYS9kb2NzL2RveHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvX19pbml0X18ucHkgYi9k b2NzL2RveHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvX19pbml0X18ucHkKK2luZGV4IDM5ODIzOTcu LjIzMDk1YzEgMTAwNjQ0CistLS0gZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL19faW5p dF9fLnB5CisrKysgZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL19faW5pdF9fLnB5CitA QCAtNSwzICs1LDQgQEAKKyByZXN1bHRhbnQgY2xhc3NlcyBhcmUgbm90IHZlcnkgZnJpZW5kbHkg dG8gbmF2aWdhdGUgc28gdGhlIHJlc3Qgb2YgdGhlCisgZG94eXhtbCBtb2R1bGUgcHJvY2Vzc2Vz IHRoZW0gZnVydGhlci4KKyAiIiIKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHVuaWNvZGVfbGl0 ZXJhbHMKK2RpZmYgLS1naXQgYS9kb2NzL2RveHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvY29tcG91 bmQucHkgYi9kb2NzL2RveHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvY29tcG91bmQucHkKK2luZGV4 IDE1MjJhYzIuLmFjZmEwZGQgMTAwNjQ0CistLS0gZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJh dGVkL2NvbXBvdW5kLnB5CisrKysgZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2NvbXBv dW5kLnB5CitAQCAtMywxNSArMywxNyBAQAorICIiIgorIEdlbmVyYXRlZCBNb24gRmViICA5IDE5 OjA4OjA1IDIwMDkgYnkgZ2VuZXJhdGVEUy5weS4KKyAiIiIKKytmcm9tIF9fZnV0dXJlX18gaW1w b3J0IGFic29sdXRlX2ltcG9ydAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgdW5pY29kZV9saXRl cmFscworKworIAorLWZyb20gc3RyaW5nIGltcG9ydCBsb3dlciBhcyBzdHJfbG93ZXIKKyBmcm9t IHhtbC5kb20gaW1wb3J0IG1pbmlkb20KKyBmcm9tIHhtbC5kb20gaW1wb3J0IE5vZGUKKyAKKyBp bXBvcnQgc3lzCisgCistaW1wb3J0IGNvbXBvdW5kc3VwZXIgYXMgc3VwZXJtb2QKKy1mcm9tIGNv bXBvdW5kc3VwZXIgaW1wb3J0IE1peGVkQ29udGFpbmVyCisrZnJvbSAuIGltcG9ydCBjb21wb3Vu ZHN1cGVyIGFzIHN1cGVybW9kCisrZnJvbSAuY29tcG91bmRzdXBlciBpbXBvcnQgTWl4ZWRDb250 YWluZXIKKyAKKyAKKyBjbGFzcyBEb3h5Z2VuVHlwZVN1YihzdXBlcm1vZC5Eb3h5Z2VuVHlwZSk6 CitkaWZmIC0tZ2l0IGEvZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2NvbXBvdW5kc3Vw ZXIucHkgYi9kb2NzL2RveHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvY29tcG91bmRzdXBlci5weQor aW5kZXggNjI1NWRkYS4uNmU5ODRlMSAxMDA2NDQKKy0tLSBkb2NzL2RveHlnZW4vZG94eXhtbC9n ZW5lcmF0ZWQvY29tcG91bmRzdXBlci5weQorKysrIGRvY3MvZG94eWdlbi9kb3h5eG1sL2dlbmVy YXRlZC9jb21wb3VuZHN1cGVyLnB5CitAQCAtNCwxMiArNCwxNyBAQAorICMgR2VuZXJhdGVkIFRo dSBKdW4gMTEgMTg6NDQ6MjUgMjAwOSBieSBnZW5lcmF0ZURTLnB5LgorICMKKyAKKytmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1 bmljb2RlX2xpdGVyYWxzCisrCisgaW1wb3J0IHN5cworLWltcG9ydCBnZXRvcHQKKy1mcm9tIHN0 cmluZyBpbXBvcnQgbG93ZXIgYXMgc3RyX2xvd2VyCisrCisgZnJvbSB4bWwuZG9tIGltcG9ydCBt aW5pZG9tCisgZnJvbSB4bWwuZG9tIGltcG9ydCBOb2RlCisgCisraW1wb3J0IHNpeAorKworKwor ICMKKyAjIFVzZXIgbWV0aG9kcworICMKK0BAIC0xOSw5ICsyNCw5IEBACisgCisgdHJ5OgorICAg ICBmcm9tIGdlbmVyYXRlZHNzdXBlciBpbXBvcnQgR2VuZXJhdGVkc1N1cGVyCistZXhjZXB0IElt cG9ydEVycm9yLCBleHA6CisrZXhjZXB0IEltcG9ydEVycm9yIGFzIGV4cDoKKyAKKy0gICAgY2xh c3MgR2VuZXJhdGVkc1N1cGVyOgorKyAgICBjbGFzcyBHZW5lcmF0ZWRzU3VwZXIob2JqZWN0KToK KyAgICAgICAgIGRlZiBmb3JtYXRfc3RyaW5nKHNlbGYsIGlucHV0X2RhdGEsIGlucHV0X25hbWU9 JycpOgorICAgICAgICAgICAgIHJldHVybiBpbnB1dF9kYXRhCisgICAgICAgICBkZWYgZm9ybWF0 X2ludGVnZXIoc2VsZiwgaW5wdXRfZGF0YSwgaW5wdXRfbmFtZT0nJyk6CitAQCAtNjQsNyArNjks NyBAQCBkZWYgc2hvd0luZGVudChvdXRmaWxlLCBsZXZlbCk6CisgICAgICAgICBvdXRmaWxlLndy aXRlKCcgICAgJykKKyAKKyBkZWYgcXVvdGVfeG1sKGluU3RyKToKKy0gICAgczEgPSAoaXNpbnN0 YW5jZShpblN0ciwgYmFzZXN0cmluZykgYW5kIGluU3RyIG9yCisrICAgIHMxID0gKGlzaW5zdGFu Y2UoaW5TdHIsIHNpeC5zdHJpbmdfdHlwZXMpIGFuZCBpblN0ciBvcgorICAgICAgICAgICAnJXMn ICUgaW5TdHIpCisgICAgIHMxID0gczEucmVwbGFjZSgnJicsICcmYW1wOycpCisgICAgIHMxID0g czEucmVwbGFjZSgnPCcsICcmbHQ7JykKK0BAIC03Miw3ICs3Nyw3IEBAIGRlZiBxdW90ZV94bWwo aW5TdHIpOgorICAgICByZXR1cm4gczEKKyAKKyBkZWYgcXVvdGVfYXR0cmliKGluU3RyKToKKy0g ICAgczEgPSAoaXNpbnN0YW5jZShpblN0ciwgYmFzZXN0cmluZykgYW5kIGluU3RyIG9yCisrICAg IHMxID0gKGlzaW5zdGFuY2UoaW5TdHIsIHNpeC5zdHJpbmdfdHlwZXMpIGFuZCBpblN0ciBvcgor ICAgICAgICAgICAnJXMnICUgaW5TdHIpCisgICAgIHMxID0gczEucmVwbGFjZSgnJicsICcmYW1w OycpCisgICAgIHMxID0gczEucmVwbGFjZSgnPCcsICcmbHQ7JykKK0BAIC0xMDIsNyArMTA3LDcg QEAgZGVmIHF1b3RlX3B5dGhvbihpblN0cik6CisgICAgICAgICAgICAgcmV0dXJuICciIiIlcyIi IicgJSBzMQorIAorIAorLWNsYXNzIE1peGVkQ29udGFpbmVyOgorK2NsYXNzIE1peGVkQ29udGFp bmVyKG9iamVjdCk6CisgICAgICMgQ29uc3RhbnRzIGZvciBjYXRlZ29yeToKKyAgICAgQ2F0ZWdv cnlOb25lID0gMAorICAgICBDYXRlZ29yeVRleHQgPSAxCitAQCAtNDIyMSw3ICs0MjI2LDcgQEAg ZGVmIGJ1aWxkQXR0cmlidXRlcyhzZWxmLCBhdHRycyk6CisgICAgICAgICBpZiBhdHRycy5nZXQo J2xpbmVubycpOgorICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgc2VsZi5saW5l bm8gPSBpbnQoYXR0cnMuZ2V0KCdsaW5lbm8nKS52YWx1ZSkKKy0gICAgICAgICAgICBleGNlcHQg VmFsdWVFcnJvciwgZXhwOgorKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4cDoK KyAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignQmFkIGludGVnZXIgYXR0cmlidXRl IChsaW5lbm8pOiAlcycgJSBleHApCisgICAgICAgICBpZiBhdHRycy5nZXQoJ3JlZmtpbmQnKToK KyAgICAgICAgICAgICBzZWxmLnJlZmtpbmQgPSBhdHRycy5nZXQoJ3JlZmtpbmQnKS52YWx1ZQor QEAgLTQ1MDQsMTIgKzQ1MDksMTIgQEAgZGVmIGJ1aWxkQXR0cmlidXRlcyhzZWxmLCBhdHRycyk6 CisgICAgICAgICBpZiBhdHRycy5nZXQoJ2VuZGxpbmUnKToKKyAgICAgICAgICAgICB0cnk6Cisg ICAgICAgICAgICAgICAgIHNlbGYuZW5kbGluZSA9IGludChhdHRycy5nZXQoJ2VuZGxpbmUnKS52 YWx1ZSkKKy0gICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciwgZXhwOgorKyAgICAgICAgICAg IGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4cDoKKyAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVF cnJvcignQmFkIGludGVnZXIgYXR0cmlidXRlIChlbmRsaW5lKTogJXMnICUgZXhwKQorICAgICAg ICAgaWYgYXR0cnMuZ2V0KCdzdGFydGxpbmUnKToKKyAgICAgICAgICAgICB0cnk6CisgICAgICAg ICAgICAgICAgIHNlbGYuc3RhcnRsaW5lID0gaW50KGF0dHJzLmdldCgnc3RhcnRsaW5lJykudmFs dWUpCistICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIGV4cDoKKysgICAgICAgICAgICBl eGNlcHQgVmFsdWVFcnJvciBhcyBleHA6CisgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJy b3IoJ0JhZCBpbnRlZ2VyIGF0dHJpYnV0ZSAoc3RhcnRsaW5lKTogJXMnICUgZXhwKQorICAgICAg ICAgaWYgYXR0cnMuZ2V0KCdyZWZpZCcpOgorICAgICAgICAgICAgIHNlbGYucmVmaWQgPSBhdHRy cy5nZXQoJ3JlZmlkJykudmFsdWUKK0BAIC00NjI3LDE3ICs0NjMyLDE3IEBAIGRlZiBidWlsZEF0 dHJpYnV0ZXMoc2VsZiwgYXR0cnMpOgorICAgICAgICAgaWYgYXR0cnMuZ2V0KCdib2R5c3RhcnQn KToKKyAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIHNlbGYuYm9keXN0YXJ0ID0g aW50KGF0dHJzLmdldCgnYm9keXN0YXJ0JykudmFsdWUpCistICAgICAgICAgICAgZXhjZXB0IFZh bHVlRXJyb3IsIGV4cDoKKysgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBleHA6Cisg ICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0JhZCBpbnRlZ2VyIGF0dHJpYnV0ZSAo Ym9keXN0YXJ0KTogJXMnICUgZXhwKQorICAgICAgICAgaWYgYXR0cnMuZ2V0KCdsaW5lJyk6Cisg ICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICBzZWxmLmxpbmUgPSBpbnQoYXR0cnMu Z2V0KCdsaW5lJykudmFsdWUpCistICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIGV4cDoK KysgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBleHA6CisgICAgICAgICAgICAgICAg IHJhaXNlIFZhbHVlRXJyb3IoJ0JhZCBpbnRlZ2VyIGF0dHJpYnV0ZSAobGluZSk6ICVzJyAlIGV4 cCkKKyAgICAgICAgIGlmIGF0dHJzLmdldCgnYm9keWVuZCcpOgorICAgICAgICAgICAgIHRyeToK KyAgICAgICAgICAgICAgICAgc2VsZi5ib2R5ZW5kID0gaW50KGF0dHJzLmdldCgnYm9keWVuZCcp LnZhbHVlKQorLSAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBleHA6CisrICAgICAgICAg ICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZXhwOgorICAgICAgICAgICAgICAgICByYWlzZSBWYWx1 ZUVycm9yKCdCYWQgaW50ZWdlciBhdHRyaWJ1dGUgKGJvZHllbmQpOiAlcycgJSBleHApCisgICAg ICAgICBpZiBhdHRycy5nZXQoJ2JvZHlmaWxlJyk6CisgICAgICAgICAgICAgc2VsZi5ib2R5Zmls ZSA9IGF0dHJzLmdldCgnYm9keWZpbGUnKS52YWx1ZQorQEAgLTY3NzgsMTIgKzY3ODMsMTIgQEAg ZGVmIGJ1aWxkQXR0cmlidXRlcyhzZWxmLCBhdHRycyk6CisgICAgICAgICBpZiBhdHRycy5nZXQo J3Jvd3MnKToKKyAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIHNlbGYucm93cyA9 IGludChhdHRycy5nZXQoJ3Jvd3MnKS52YWx1ZSkKKy0gICAgICAgICAgICBleGNlcHQgVmFsdWVF cnJvciwgZXhwOgorKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4cDoKKyAgICAg ICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignQmFkIGludGVnZXIgYXR0cmlidXRlIChyb3dz KTogJXMnICUgZXhwKQorICAgICAgICAgaWYgYXR0cnMuZ2V0KCdjb2xzJyk6CisgICAgICAgICAg ICAgdHJ5OgorICAgICAgICAgICAgICAgICBzZWxmLmNvbHMgPSBpbnQoYXR0cnMuZ2V0KCdjb2xz JykudmFsdWUpCistICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIGV4cDoKKysgICAgICAg ICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBleHA6CisgICAgICAgICAgICAgICAgIHJhaXNlIFZh bHVlRXJyb3IoJ0JhZCBpbnRlZ2VyIGF0dHJpYnV0ZSAoY29scyk6ICVzJyAlIGV4cCkKKyAgICAg ZGVmIGJ1aWxkQ2hpbGRyZW4oc2VsZiwgY2hpbGRfLCBub2RlTmFtZV8pOgorICAgICAgICAgaWYg Y2hpbGRfLm5vZGVUeXBlID09IE5vZGUuRUxFTUVOVF9OT0RFIGFuZCBcCitAQCAtNzEwOCw3ICs3 MTEzLDcgQEAgZGVmIGJ1aWxkQXR0cmlidXRlcyhzZWxmLCBhdHRycyk6CisgICAgICAgICBpZiBh dHRycy5nZXQoJ2xldmVsJyk6CisgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICBz ZWxmLmxldmVsID0gaW50KGF0dHJzLmdldCgnbGV2ZWwnKS52YWx1ZSkKKy0gICAgICAgICAgICBl eGNlcHQgVmFsdWVFcnJvciwgZXhwOgorKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFz IGV4cDoKKyAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignQmFkIGludGVnZXIgYXR0 cmlidXRlIChsZXZlbCk6ICVzJyAlIGV4cCkKKyAgICAgZGVmIGJ1aWxkQ2hpbGRyZW4oc2VsZiwg Y2hpbGRfLCBub2RlTmFtZV8pOgorICAgICAgICAgaWYgY2hpbGRfLm5vZGVUeXBlID09IE5vZGUu VEVYVF9OT0RFOgorQEAgLTgyODMsNyArODI4OCw3IEBAIGRlZiBidWlsZENoaWxkcmVuKHNlbGYs IGNoaWxkXywgbm9kZU5hbWVfKToKKyAiIiIKKyAKKyBkZWYgdXNhZ2UoKToKKy0gICAgcHJpbnQg VVNBR0VfVEVYVAorKyAgICBwcmludChVU0FHRV9URVhUKQorICAgICBzeXMuZXhpdCgxKQorIAor IAorQEAgLTgzMzksNCArODM0NCwzIEBAIGRlZiBtYWluKCk6CisgICAgIG1haW4oKQorICAgICAj aW1wb3J0IHBkYgorICAgICAjcGRiLnJ1bignbWFpbigpJykKKy0KK2RpZmYgLS1naXQgYS9kb2Nz L2RveHlnZW4vZG94eXhtbC9nZW5lcmF0ZWQvaW5kZXgucHkgYi9kb2NzL2RveHlnZW4vZG94eXht bC9nZW5lcmF0ZWQvaW5kZXgucHkKK2luZGV4IDdhNzBlMTQuLjBjNjM1MTIgMTAwNjQ0CistLS0g ZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2luZGV4LnB5CisrKysgZG9jcy9kb3h5Z2Vu L2RveHl4bWwvZ2VuZXJhdGVkL2luZGV4LnB5CitAQCAtMywxNCArMywxNiBAQAorICIiIgorIEdl bmVyYXRlZCBNb24gRmViICA5IDE5OjA4OjA1IDIwMDkgYnkgZ2VuZXJhdGVEUy5weS4KKyAiIiIK Kytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorK2Zyb20gX19mdXR1cmVf XyBpbXBvcnQgdW5pY29kZV9saXRlcmFscworIAorIGZyb20geG1sLmRvbSBpbXBvcnQgbWluaWRv bQorIAorIGltcG9ydCBvcworIGltcG9ydCBzeXMKKy1pbXBvcnQgY29tcG91bmQKKytmcm9tIC4g aW1wb3J0IGNvbXBvdW5kCisgCistaW1wb3J0IGluZGV4c3VwZXIgYXMgc3VwZXJtb2QKKytmcm9t IC4gaW1wb3J0IGluZGV4c3VwZXIgYXMgc3VwZXJtb2QKKyAKKyBjbGFzcyBEb3h5Z2VuVHlwZVN1 YihzdXBlcm1vZC5Eb3h5Z2VuVHlwZSk6CisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2ZXJzaW9u PU5vbmUsIGNvbXBvdW5kPU5vbmUpOgorZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdlbi9kb3h5eG1s L2dlbmVyYXRlZC9pbmRleHN1cGVyLnB5IGIvZG9jcy9kb3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVk L2luZGV4c3VwZXIucHkKK2luZGV4IGE5OTE1MzAuLjExMzEyZGIgMTAwNjQ0CistLS0gZG9jcy9k b3h5Z2VuL2RveHl4bWwvZ2VuZXJhdGVkL2luZGV4c3VwZXIucHkKKysrKyBkb2NzL2RveHlnZW4v ZG94eXhtbC9nZW5lcmF0ZWQvaW5kZXhzdXBlci5weQorQEAgLTQsMTIgKzQsMTYgQEAKKyAjIEdl bmVyYXRlZCBUaHUgSnVuIDExIDE4OjQzOjU0IDIwMDkgYnkgZ2VuZXJhdGVEUy5weS4KKyAjCisg CisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorK2Zyb20gX19mdXR1cmVf XyBpbXBvcnQgdW5pY29kZV9saXRlcmFscworKworIGltcG9ydCBzeXMKKy1pbXBvcnQgZ2V0b3B0 CistZnJvbSBzdHJpbmcgaW1wb3J0IGxvd2VyIGFzIHN0cl9sb3dlcgorKworIGZyb20geG1sLmRv bSBpbXBvcnQgbWluaWRvbQorIGZyb20geG1sLmRvbSBpbXBvcnQgTm9kZQorIAorK2ltcG9ydCBz aXgKKysKKyAjCisgIyBVc2VyIG1ldGhvZHMKKyAjCitAQCAtMTksOSArMjMsOSBAQAorIAorIHRy eToKKyAgICAgZnJvbSBnZW5lcmF0ZWRzc3VwZXIgaW1wb3J0IEdlbmVyYXRlZHNTdXBlcgorLWV4 Y2VwdCBJbXBvcnRFcnJvciwgZXhwOgorK2V4Y2VwdCBJbXBvcnRFcnJvciBhcyBleHA6CisgCist ICAgIGNsYXNzIEdlbmVyYXRlZHNTdXBlcjoKKysgICAgY2xhc3MgR2VuZXJhdGVkc1N1cGVyKG9i amVjdCk6CisgICAgICAgICBkZWYgZm9ybWF0X3N0cmluZyhzZWxmLCBpbnB1dF9kYXRhLCBpbnB1 dF9uYW1lPScnKToKKyAgICAgICAgICAgICByZXR1cm4gaW5wdXRfZGF0YQorICAgICAgICAgZGVm IGZvcm1hdF9pbnRlZ2VyKHNlbGYsIGlucHV0X2RhdGEsIGlucHV0X25hbWU9JycpOgorQEAgLTY0 LDcgKzY4LDcgQEAgZGVmIHNob3dJbmRlbnQob3V0ZmlsZSwgbGV2ZWwpOgorICAgICAgICAgb3V0 ZmlsZS53cml0ZSgnICAgICcpCisgCisgZGVmIHF1b3RlX3htbChpblN0cik6CistICAgIHMxID0g KGlzaW5zdGFuY2UoaW5TdHIsIGJhc2VzdHJpbmcpIGFuZCBpblN0ciBvcgorKyAgICBzMSA9IChp c2luc3RhbmNlKGluU3RyLCBzaXguc3RyaW5nX3R5cGVzKSBhbmQgaW5TdHIgb3IKKyAgICAgICAg ICAgJyVzJyAlIGluU3RyKQorICAgICBzMSA9IHMxLnJlcGxhY2UoJyYnLCAnJmFtcDsnKQorICAg ICBzMSA9IHMxLnJlcGxhY2UoJzwnLCAnJmx0OycpCitAQCAtNzIsNyArNzYsNyBAQCBkZWYgcXVv dGVfeG1sKGluU3RyKToKKyAgICAgcmV0dXJuIHMxCisgCisgZGVmIHF1b3RlX2F0dHJpYihpblN0 cik6CistICAgIHMxID0gKGlzaW5zdGFuY2UoaW5TdHIsIGJhc2VzdHJpbmcpIGFuZCBpblN0ciBv cgorKyAgICBzMSA9IChpc2luc3RhbmNlKGluU3RyLCBzaXguc3RyaW5nX3R5cGVzKSBhbmQgaW5T dHIgb3IKKyAgICAgICAgICAgJyVzJyAlIGluU3RyKQorICAgICBzMSA9IHMxLnJlcGxhY2UoJyYn LCAnJmFtcDsnKQorICAgICBzMSA9IHMxLnJlcGxhY2UoJzwnLCAnJmx0OycpCitAQCAtMTAyLDcg KzEwNiw3IEBAIGRlZiBxdW90ZV9weXRob24oaW5TdHIpOgorICAgICAgICAgICAgIHJldHVybiAn IiIiJXMiIiInICUgczEKKyAKKyAKKy1jbGFzcyBNaXhlZENvbnRhaW5lcjoKKytjbGFzcyBNaXhl ZENvbnRhaW5lcihvYmplY3QpOgorICAgICAjIENvbnN0YW50cyBmb3IgY2F0ZWdvcnk6CisgICAg IENhdGVnb3J5Tm9uZSA9IDAKKyAgICAgQ2F0ZWdvcnlUZXh0ID0gMQorQEAgLTQ2Miw3ICs0NjYs NyBAQCBkZWYgYnVpbGRDaGlsZHJlbihzZWxmLCBjaGlsZF8sIG5vZGVOYW1lXyk6CisgIiIiCisg CisgZGVmIHVzYWdlKCk6CistICAgIHByaW50IFVTQUdFX1RFWFQKKysgICAgcHJpbnQoVVNBR0Vf VEVYVCkKKyAgICAgc3lzLmV4aXQoMSkKKyAKKyAKK0BAIC01MjAsNCArNTI0LDMgQEAgZGVmIG1h aW4oKToKKyAgICAgbWFpbigpCisgICAgICNpbXBvcnQgcGRiCisgICAgICNwZGIucnVuKCdtYWlu KCknKQorLQorZGlmZiAtLWdpdCBhL2RvY3MvZG94eWdlbi9kb3h5eG1sL3RleHQucHkgYi9kb2Nz L2RveHlnZW4vZG94eXhtbC90ZXh0LnB5CitpbmRleCA2MjllZGQxLi5lNzA2NmJhIDEwMDY0NAor LS0tIGRvY3MvZG94eWdlbi9kb3h5eG1sL3RleHQucHkKKysrKyBkb2NzL2RveHlnZW4vZG94eXht bC90ZXh0LnB5CitAQCAtMSw3ICsxLDggQEAKKyAjCisgIyBDb3B5cmlnaHQgMjAxMCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAjCistIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUg UmFkaW8KKysjIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGdyX21vZHRvb2wsIGEgdG9vbCBm cm9tIHRoZSBHTlUgUmFkaW8gZnJhbWV3b3JrCisrIyBUaGlzIGZpbGUgaXMgYSBwYXJ0IG9mIGdy LW5yc2M1CisgIworICMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtMjEsMTIgKzIyLDEz IEBACisgIiIiCisgVXRpbGl0aWVzIGZvciBleHRyYWN0aW5nIHRleHQgZnJvbSBnZW5lcmF0ZWQg Y2xhc3Nlcy4KKyAiIiIKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMK KyAKKyBkZWYgaXNfc3RyaW5nKHR4dCk6CisgICAgIGlmIGlzaW5zdGFuY2UodHh0LCBzdHIpOgor ICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgdHJ5OgorLSAgICAgICAgaWYgaXNpbnN0YW5jZSh0 eHQsIHVuaWNvZGUpOgorKyAgICAgICAgaWYgaXNpbnN0YW5jZSh0eHQsIHN0cik6CisgICAgICAg ICAgICAgcmV0dXJuIFRydWUKKyAgICAgZXhjZXB0IE5hbWVFcnJvcjoKKyAgICAgICAgIHBhc3MK K0BAIC00OSw3ICs1MSw3IEBAIGRlZiBkZXNjcmlwdGlvbl9iaXQob2JqKToKKyAgICAgZWxpZiBp c19zdHJpbmcob2JqKToKKyAgICAgICAgIHJldHVybiBvYmoKKyAgICAgZWxzZToKKy0gICAgICAg IHJhaXNlIFN0YW5kYXJkRXJyb3IoJ0V4cGVjdGluZyBhIHN0cmluZyBvciBzb21ldGhpbmcgd2l0 aCBjb250ZW50LCBjb250ZW50XyBvciB2YWx1ZSBhdHRyaWJ1dGUnKQorKyAgICAgICAgcmFpc2Ug RXhjZXB0aW9uKCdFeHBlY3RpbmcgYSBzdHJpbmcgb3Igc29tZXRoaW5nIHdpdGggY29udGVudCwg Y29udGVudF8gb3IgdmFsdWUgYXR0cmlidXRlJykKKyAgICAgIyBJZiB0aGlzIGJpdCBpcyBhIHBh cmFncmFwaCB0aGVuIGFkZCBvbmUgc29tZSBsaW5lIGJyZWFrcy4KKyAgICAgaWYgaGFzYXR0cihv YmosICduYW1lJykgYW5kIG9iai5uYW1lID09ICdwYXJhJzoKKyAgICAgICAgIHJlc3VsdCArPSAi XG5cbiIKK2RpZmYgLS1naXQgYS9kb2NzL2RveHlnZW4vc3dpZ19kb2MucHkgYi9kb2NzL2RveHln ZW4vc3dpZ19kb2MucHkKK2luZGV4IGQzNTM2ZGIuLmMxMjdiOWUgMTAwNjQ0CistLS0gZG9jcy9k b3h5Z2VuL3N3aWdfZG9jLnB5CisrKysgZG9jcy9kb3h5Z2VuL3N3aWdfZG9jLnB5CitAQCAtMSw3 ICsxLDggQEAKKyAjCisgIyBDb3B5cmlnaHQgMjAxMC0yMDEyIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorICMKKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworKyMgVGhp cyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgZ3JfbW9kdG9vbCwgYSB0b29sIGZyb20gdGhlIEdOVSBS YWRpbyBmcmFtZXdvcmsKKysjIFRoaXMgZmlsZSBpcyBhIHBhcnQgb2YgZ3ItbnJzYzUKKyAjCisg IyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQorICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKK0BAIC0yNiw2ICsyNyw3IEBACisgcHl0aG9uIGRv Y3N0cmluZ3MuCisgCisgIiIiCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVy YWxzCisgCisgaW1wb3J0IHN5cywgdGltZQorIAorQEAgLTc5LDEzICs4MSwxNSBAQCBkZWYgaW5j bHVkZXMoY2xzLCBpdGVtKToKKyAKKyBkZWYgdXRvYXNjaWkodGV4dCk6CisgICAgICIiIgorLSAg ICBDb252ZXJ0IHVuaWNvZGUgdGV4dCBpbnRvIGFzY2lpIGFuZCBlc2NhcGUgcXVvdGVzLgorKyAg ICBDb252ZXJ0IHVuaWNvZGUgdGV4dCBpbnRvIGFzY2lpIGFuZCBlc2NhcGUgcXVvdGVzIGFuZCBi YWNrc2xhc2hlcy4KKyAgICAgIiIiCisgICAgIGlmIHRleHQgaXMgTm9uZToKKyAgICAgICAgIHJl dHVybiAnJworICAgICBvdXQgPSB0ZXh0LmVuY29kZSgnYXNjaWknLCAncmVwbGFjZScpCistICAg IG91dCA9IG91dC5yZXBsYWNlKCciJywgJ1xcIicpCistICAgIHJldHVybiBvdXQKKysgICAgIyBz d2lnIHdpbGwgcmVxdWlyZSB1cyB0byByZXBsYWNlIGJsYWNrc2xhc2ggd2l0aCA0IGJhY2tzbGFz aGVzCisrICAgIG91dCA9IG91dC5yZXBsYWNlKGInXFwnLCBiJ1xcXFxcXFxcJykKKysgICAgb3V0 ID0gb3V0LnJlcGxhY2UoYiciJywgYidcXCInKS5kZWNvZGUoJ2FzY2lpJykKKysgICAgcmV0dXJu IHN0cihvdXQpCisgCisgCisgZGVmIGNvbWJpbmVfZGVzY3JpcHRpb25zKG9iaik6CitAQCAtMTM1 LDcgKzEzOSw3IEBAIGRlZiBtYWtlX2VudHJ5KG9iaiwgbmFtZT1Ob25lLCB0ZW1wbD0ie2Rlc2Ny aXB0aW9ufSIsIGRlc2NyaXB0aW9uPU5vbmUsIHBhcmFtcz1bCisgICAgIHJldHVybiBlbnRyeV90 ZW1wbC5mb3JtYXQoCisgICAgICAgICBuYW1lPW5hbWUsCisgICAgICAgICBkb2NzdHJpbmc9ZG9j c3RyaW5nLAorLSAgICApCisrICAgICAgICApCisgCisgCisgZGVmIG1ha2VfZnVuY19lbnRyeShm dW5jLCBuYW1lPU5vbmUsIGRlc2NyaXB0aW9uPU5vbmUsIHBhcmFtcz1Ob25lKToKK0BAIC0yMjYs MTIgKzIzMCwxMiBAQCBkZWYgbWFrZV9ibG9jazJfZW50cnkoZGksIGJsb2NrKToKKyAgICAgIyB0 aGUgbWFrZSBmdW5jdGlvbi4KKyAgICAgb3V0cHV0ID0gW10KKyAgICAgb3V0cHV0LmFwcGVuZCht YWtlX2NsYXNzX2VudHJ5KAorLSAgICAgICAgYmxvY2ssIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9u LAorLSAgICAgICAgaWdub3JlZF9tZXRob2RzPVsnbWFrZSddLCBwYXJhbXM9bWFrZV9mdW5jLnBh cmFtcykpCisrICAgICAgICAgICAgYmxvY2ssIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uLAorKyAg ICAgICAgICAgIGlnbm9yZWRfbWV0aG9kcz1bJ21ha2UnXSwgcGFyYW1zPW1ha2VfZnVuYy5wYXJh bXMpKQorICAgICBtYWtlbmFtZSA9IGJsb2NrLm5hbWUoKSArICc6Om1ha2UnCisgICAgIG91dHB1 dC5hcHBlbmQobWFrZV9mdW5jX2VudHJ5KAorLSAgICAgICAgbWFrZV9mdW5jLCBuYW1lPW1ha2Vu YW1lLCBkZXNjcmlwdGlvbj1kZXNjcmlwdGlvbiwKKy0gICAgICAgIHBhcmFtcz1tYWtlX2Z1bmMu cGFyYW1zKSkKKysgICAgICAgICAgICBtYWtlX2Z1bmMsIG5hbWU9bWFrZW5hbWUsIGRlc2NyaXB0 aW9uPWRlc2NyaXB0aW9uLAorKyAgICAgICAgICAgIHBhcmFtcz1tYWtlX2Z1bmMucGFyYW1zKSkK KyAgICAgcmV0dXJuICJcblxuIi5qb2luKG91dHB1dCkKKyAKKyBkZWYgbWFrZV9zd2lnX2ludGVy ZmFjZV9maWxlKGRpLCBzd2lnZG9jZmlsZW5hbWUsIGN1c3RvbV9vdXRwdXQ9Tm9uZSk6CitAQCAt MzAxLDcgKzMwNSw3IEBAIGRlZiBtYWtlX3N3aWdfaW50ZXJmYWNlX2ZpbGUoZGksIHN3aWdkb2Nm aWxlbmFtZSwgY3VzdG9tX291dHB1dD1Ob25lKToKKyAKKyAgICAgb3V0cHV0ID0gIlxuXG4iLmpv aW4ob3V0cHV0KQorIAorLSAgICBzd2lnX2RvYyA9IGZpbGUoc3dpZ2RvY2ZpbGVuYW1lLCAndycp CisrICAgIHN3aWdfZG9jID0gb3Blbihzd2lnZG9jZmlsZW5hbWUsICd3JykKKyAgICAgc3dpZ19k b2Mud3JpdGUob3V0cHV0KQorICAgICBzd2lnX2RvYy5jbG9zZSgpCisgCitAQCAtMzA5LDcgKzMx Myw3IEBAIGRlZiBtYWtlX3N3aWdfaW50ZXJmYWNlX2ZpbGUoZGksIHN3aWdkb2NmaWxlbmFtZSwg Y3VzdG9tX291dHB1dD1Ob25lKToKKyAgICAgIyBQYXJzZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBh bmQgc2V0IHVwIGRveHl4bWwuCisgICAgIGVycl9tc2cgPSAiRXhlY3V0ZSB1c2luZzogcHl0aG9u IHN3aWdfZG9jLnB5IHhtbF9wYXRoIG91dHB1dGZpbGVuYW1lIgorICAgICBpZiBsZW4oc3lzLmFy Z3YpICE9IDM6CistICAgICAgICByYWlzZSBTdGFuZGFyZEVycm9yKGVycl9tc2cpCisrICAgICAg ICByYWlzZSBFeGNlcHRpb24oZXJyX21zZykKKyAgICAgeG1sX3BhdGggPSBzeXMuYXJndlsxXQor ICAgICBzd2lnZG9jZmlsZW5hbWUgPSBzeXMuYXJndlsyXQorICAgICBkaSA9IERveHlJbmRleCh4 bWxfcGF0aCkKK2RpZmYgLS1naXQgYS9ncmMvQ01ha2VMaXN0cy50eHQgYi9ncmMvQ01ha2VMaXN0 cy50eHQKK2luZGV4IDFiNWM4MDEuLjhiYzc1ZTQgMTAwNjQ0CistLS0gZ3JjL0NNYWtlTGlzdHMu dHh0CisrKysgZ3JjL0NNYWtlTGlzdHMudHh0CitAQCAtMSw2ICsxLDcgQEAKKyAjIENvcHlyaWdo dCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICMKKy0jIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIEdOVSBSYWRpbworKyMgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgZ3JfbW9k dG9vbCwgYSB0b29sIGZyb20gdGhlIEdOVSBSYWRpbyBmcmFtZXdvcmsKKysjIFRoaXMgZmlsZSBp cyBhIHBhcnQgb2YgZ3ItbnJzYzUKKyAjCisgIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKK0BA IC0xOCwxNiArMTksMTYgQEAKKyAjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorIAorIGlu c3RhbGwoRklMRVMKKy0gICAgbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDEueG1sCistICAgIG5yc2M1 X2wxX2ZtX2VuY29kZXJfbXAyLnhtbAorLSAgICBucnNjNV9sMV9mbV9lbmNvZGVyX21wMy54bWwK Ky0gICAgbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDExLnhtbAorLSAgICBucnNjNV9sMV9mbV9lbmNv ZGVyX21wNS54bWwKKy0gICAgbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDVfbXMxLnhtbAorLSAgICBu cnNjNV9sMV9mbV9lbmNvZGVyX21wNi54bWwKKy0gICAgbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDZf bXMxLnhtbAorLSAgICBucnNjNV9zaXNfZW5jb2Rlci54bWwKKy0gICAgbnJzYzVfbDJfZW5jb2Rl ci54bWwKKy0gICAgbnJzYzVfaGRjX2VuY29kZXIueG1sCistICAgIG5yc2M1X3BzZF9lbmNvZGVy LnhtbCBERVNUSU5BVElPTiBzaGFyZS9nbnVyYWRpby9ncmMvYmxvY2tzCisrICAgIG5yc2M1X2hk Y19lbmNvZGVyLmJsb2NrLnltbAorKyAgICBucnNjNV9sMV9mbV9lbmNvZGVyX21wMS5ibG9jay55 bWwKKysgICAgbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDIuYmxvY2sueW1sCisrICAgIG5yc2M1X2wx X2ZtX2VuY29kZXJfbXAzLmJsb2NrLnltbAorKyAgICBucnNjNV9sMV9mbV9lbmNvZGVyX21wMTEu YmxvY2sueW1sCisrICAgIG5yc2M1X2wxX2ZtX2VuY29kZXJfbXA1LmJsb2NrLnltbAorKyAgICBu cnNjNV9sMV9mbV9lbmNvZGVyX21wNV9tczEuYmxvY2sueW1sCisrICAgIG5yc2M1X2wxX2ZtX2Vu Y29kZXJfbXA2LmJsb2NrLnltbAorKyAgICBucnNjNV9sMV9mbV9lbmNvZGVyX21wNl9tczEuYmxv Y2sueW1sCisrICAgIG5yc2M1X2wyX2VuY29kZXIuYmxvY2sueW1sCisrICAgIG5yc2M1X3BzZF9l bmNvZGVyLmJsb2NrLnltbAorKyAgICBucnNjNV9zaXNfZW5jb2Rlci5ibG9jay55bWwgREVTVElO QVRJT04gc2hhcmUvZ251cmFkaW8vZ3JjL2Jsb2NrcworICkKK2RpZmYgLS1naXQgYS9ncmMvbnJz YzVfaGRjX2VuY29kZXIuYmxvY2sueW1sIGIvZ3JjL25yc2M1X2hkY19lbmNvZGVyLmJsb2NrLnlt bAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjUyMGRjYmUKKy0tLSAvZGV2 L251bGwKKysrKyBncmMvbnJzYzVfaGRjX2VuY29kZXIuYmxvY2sueW1sCitAQCAtMCwwICsxLDMz IEBACisrIyBhdXRvLWdlbmVyYXRlZCBieSBncmMuY29udmVydGVyCisrCisraWQ6IG5yc2M1X2hk Y19lbmNvZGVyCisrbGFiZWw6IEhEQyBFbmNvZGVyCisrY2F0ZWdvcnk6ICdbTlJTQy01XScKKysK KytwYXJhbWV0ZXJzOgorKy0gICBpZDogY2hhbm5lbHMKKysgICAgbGFiZWw6IENoYW5uZWxzCisr ICAgIGR0eXBlOiBpbnQKKysgICAgZGVmYXVsdDogMgorKy0gICBpZDogYml0cmF0ZQorKyAgICBs YWJlbDogQml0cmF0ZQorKyAgICBkdHlwZTogaW50CisrICAgIGRlZmF1bHQ6IDY0MDAwCisrCisr aW5wdXRzOgorKy0gICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogZmxvYXQKKysgICAgbXVs dGlwbGljaXR5OiAkeyBjaGFubmVscyB9CisrCisrb3V0cHV0czoKKystICAgZG9tYWluOiBzdHJl YW0KKysgICAgZHR5cGU6IGJ5dGUKKythc3NlcnRzOgorKy0gJHsgMSA8PSBjaGFubmVscyA8PSAy IH0KKystICR7IDAgPCBiaXRyYXRlIH0KKysKKyt0ZW1wbGF0ZXM6CisrICAgIGltcG9ydHM6IGlt cG9ydCBucnNjNQorKyAgICBtYWtlOiBucnNjNS5oZGNfZW5jb2Rlcigke2NoYW5uZWxzfSwgJHti aXRyYXRlfSkKKysKKytmaWxlX2Zvcm1hdDogMQorZGlmZiAtLWdpdCBhL2dyYy9ucnNjNV9oZGNf ZW5jb2Rlci54bWwgYi9ncmMvbnJzYzVfaGRjX2VuY29kZXIueG1sCitkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IGI0ZTQ3MmUuLjAwMDAwMDAKKy0tLSBncmMvbnJzYzVfaGRjX2VuY29k ZXIueG1sCisrKysgL2Rldi9udWxsCitAQCAtMSwzMSArMCwwIEBACistPD94bWwgdmVyc2lvbj0i MS4wIj8+CistPGJsb2NrPgorLSAgPG5hbWU+SERDIEVuY29kZXI8L25hbWU+CistICA8a2V5Pm5y c2M1X2hkY19lbmNvZGVyPC9rZXk+CistICA8Y2F0ZWdvcnk+W05SU0MtNV08L2NhdGVnb3J5Pgor LSAgPGltcG9ydD5pbXBvcnQgbnJzYzU8L2ltcG9ydD4KKy0gIDxtYWtlPm5yc2M1LmhkY19lbmNv ZGVyKCRjaGFubmVscywgJGJpdHJhdGUpPC9tYWtlPgorLSAgPHBhcmFtPgorLSAgICA8bmFtZT5D aGFubmVsczwvbmFtZT4KKy0gICAgPGtleT5jaGFubmVsczwva2V5PgorLSAgICA8dmFsdWU+Mjwv dmFsdWU+CistICAgIDx0eXBlPmludDwvdHlwZT4KKy0gIDwvcGFyYW0+CistICA8cGFyYW0+Cist ICAgIDxuYW1lPkJpdHJhdGU8L25hbWU+CistICAgIDxrZXk+Yml0cmF0ZTwva2V5PgorLSAgICA8 dmFsdWU+NjQwMDA8L3ZhbHVlPgorLSAgICA8dHlwZT5pbnQ8L3R5cGU+CistICA8L3BhcmFtPgor LSAgPGNoZWNrPjEgJmx0Oz0gJGNoYW5uZWxzICZsdDs9IDI8L2NoZWNrPgorLSAgPGNoZWNrPjAg Jmx0OyAkYml0cmF0ZTwvY2hlY2s+CistICA8c2luaz4KKy0gICAgPG5hbWU+aW48L25hbWU+Cist ICAgIDx0eXBlPmZsb2F0PC90eXBlPgorLSAgICA8bnBvcnRzPiRjaGFubmVsczwvbnBvcnRzPgor LSAgPC9zaW5rPgorLSAgPHNvdXJjZT4KKy0gICAgPG5hbWU+b3V0PC9uYW1lPgorLSAgICA8dHlw ZT5ieXRlPC90eXBlPgorLSAgPC9zb3VyY2U+CistPC9ibG9jaz4KK2RpZmYgLS1naXQgYS9ncmMv bnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDEuYmxvY2sueW1sIGIvZ3JjL25yc2M1X2wxX2ZtX2VuY29k ZXJfbXAxLmJsb2NrLnltbAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjJi NjlkNGMKKy0tLSAvZGV2L251bGwKKysrKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDEuYmxv Y2sueW1sCitAQCAtMCwwICsxLDI2IEBACisrIyBhdXRvLWdlbmVyYXRlZCBieSBncmMuY29udmVy dGVyCisrCisraWQ6IG5yc2M1X2wxX2ZtX2VuY29kZXJfbXAxCisrbGFiZWw6ICdMYXllciAxIEZN IGVuY29kZXI6IE1QMScKKytjYXRlZ29yeTogJ1tOUlNDLTVdJworKworK2lucHV0czoKKystICAg bGFiZWw6IHAxCisrICAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBlOiBieXRlCisrICAgIHZs ZW46IDE0NjE3NgorKy0gICBsYWJlbDogcGlkcworKyAgICBkb21haW46IHN0cmVhbQorKyAgICBk dHlwZTogYnl0ZQorKyAgICB2bGVuOiA4MAorKworK291dHB1dHM6CisrLSAgIGRvbWFpbjogc3Ry ZWFtCisrICAgIGR0eXBlOiBieXRlCisrICAgIHZsZW46IDEwNDg1NzYKKysKKyt0ZW1wbGF0ZXM6 CisrICAgIGltcG9ydHM6IGltcG9ydCBucnNjNQorKyAgICBtYWtlOiBucnNjNS5sMV9mbV9lbmNv ZGVyKDEpCisrCisrZmlsZV9mb3JtYXQ6IDEKK2RpZmYgLS1naXQgYS9ncmMvbnJzYzVfbDFfZm1f ZW5jb2Rlcl9tcDEueG1sIGIvZ3JjL25yc2M1X2wxX2ZtX2VuY29kZXJfbXAxLnhtbAorZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA0NjcxNGE3Li4wMDAwMDAwCistLS0gZ3JjL25yc2M1 X2wxX2ZtX2VuY29kZXJfbXAxLnhtbAorKysrIC9kZXYvbnVsbAorQEAgLTEsMjMgKzAsMCBAQAor LTw/eG1sIHZlcnNpb249IjEuMCI/PgorLTxibG9jaz4KKy0gIDxuYW1lPkxheWVyIDEgRk0gZW5j b2RlcjogTVAxPC9uYW1lPgorLSAgPGtleT5ucnNjNV9sMV9mbV9lbmNvZGVyX21wMTwva2V5Pgor LSAgPGNhdGVnb3J5PltOUlNDLTVdPC9jYXRlZ29yeT4KKy0gIDxpbXBvcnQ+aW1wb3J0IG5yc2M1 PC9pbXBvcnQ+CistICA8bWFrZT5ucnNjNS5sMV9mbV9lbmNvZGVyKDEpPC9tYWtlPgorLSAgPHNp bms+CistICAgIDxuYW1lPnAxPC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBlPgorLSAgICA8 dmxlbj4xNDYxNzY8L3ZsZW4+CistICA8L3Npbms+CistICA8c2luaz4KKy0gICAgPG5hbWU+cGlk czwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+ODA8L3ZsZW4+Cist ICA8L3Npbms+CistICA8c291cmNlPgorLSAgICA8bmFtZT5vdXQ8L25hbWU+CistICAgIDx0eXBl PmJ5dGU8L3R5cGU+CistICAgIDx2bGVuPjEwNDg1NzY8L3ZsZW4+CistICA8L3NvdXJjZT4KKy08 L2Jsb2NrPgorZGlmZiAtLWdpdCBhL2dyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wMTEuYmxvY2su eW1sIGIvZ3JjL25yc2M1X2wxX2ZtX2VuY29kZXJfbXAxMS5ibG9jay55bWwKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi44YzEwOWYzCistLS0gL2Rldi9udWxsCisrKysgZ3Jj L25yc2M1X2wxX2ZtX2VuY29kZXJfbXAxMS5ibG9jay55bWwKK0BAIC0wLDAgKzEsMzQgQEAKKysj IGF1dG8tZ2VuZXJhdGVkIGJ5IGdyYy5jb252ZXJ0ZXIKKysKKytpZDogbnJzYzVfbDFfZm1fZW5j b2Rlcl9tcDExCisrbGFiZWw6ICdMYXllciAxIEZNIGVuY29kZXI6IE1QMTEnCisrY2F0ZWdvcnk6 ICdbTlJTQy01XScKKysKKytpbnB1dHM6CisrLSAgIGxhYmVsOiBwMQorKyAgICBkb21haW46IHN0 cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAgICB2bGVuOiAxNDYxNzYKKystICAgbGFiZWw6IHAz CisrICAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBlOiBieXRlCisrICAgIHZsZW46IDQ2MDgK KystICAgbGFiZWw6IHA0CisrICAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBlOiBieXRlCisr ICAgIHZsZW46IDQ2MDgKKystICAgbGFiZWw6IHBpZHMKKysgICAgZG9tYWluOiBzdHJlYW0KKysg ICAgZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogODAKKysKKytvdXRwdXRzOgorKy0gICBkb21haW46 IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAgICB2bGVuOiAxMDQ4NTc2CisrCisrdGVtcGxh dGVzOgorKyAgICBpbXBvcnRzOiBpbXBvcnQgbnJzYzUKKysgICAgbWFrZTogbnJzYzUubDFfZm1f ZW5jb2RlcigxMSkKKysKKytmaWxlX2Zvcm1hdDogMQorZGlmZiAtLWdpdCBhL2dyYy9ucnNjNV9s MV9mbV9lbmNvZGVyX21wMTEueG1sIGIvZ3JjL25yc2M1X2wxX2ZtX2VuY29kZXJfbXAxMS54bWwK K2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggY2JhMDgzNy4uMDAwMDAwMAorLS0tIGdy Yy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wMTEueG1sCisrKysgL2Rldi9udWxsCitAQCAtMSwzMyAr MCwwIEBACistPD94bWwgdmVyc2lvbj0iMS4wIj8+CistPGJsb2NrPgorLSAgPG5hbWU+TGF5ZXIg MSBGTSBlbmNvZGVyOiBNUDExPC9uYW1lPgorLSAgPGtleT5ucnNjNV9sMV9mbV9lbmNvZGVyX21w MTE8L2tleT4KKy0gIDxjYXRlZ29yeT5bTlJTQy01XTwvY2F0ZWdvcnk+CistICA8aW1wb3J0Pmlt cG9ydCBucnNjNTwvaW1wb3J0PgorLSAgPG1ha2U+bnJzYzUubDFfZm1fZW5jb2RlcigxMSk8L21h a2U+CistICA8c2luaz4KKy0gICAgPG5hbWU+cDE8L25hbWU+CistICAgIDx0eXBlPmJ5dGU8L3R5 cGU+CistICAgIDx2bGVuPjE0NjE3Njwvdmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzaW5rPgorLSAg ICA8bmFtZT5wMzwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+NDYw ODwvdmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzaW5rPgorLSAgICA8bmFtZT5wNDwvbmFtZT4KKy0g ICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+NDYwODwvdmxlbj4KKy0gIDwvc2luaz4K Ky0gIDxzaW5rPgorLSAgICA8bmFtZT5waWRzPC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBl PgorLSAgICA8dmxlbj44MDwvdmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzb3VyY2U+CistICAgIDxu YW1lPm91dDwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+MTA0ODU3 Njwvdmxlbj4KKy0gIDwvc291cmNlPgorLTwvYmxvY2s+CitkaWZmIC0tZ2l0IGEvZ3JjL25yc2M1 X2wxX2ZtX2VuY29kZXJfbXAyLmJsb2NrLnltbCBiL2dyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21w Mi5ibG9jay55bWwKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi42ZTA0OWI1 CistLS0gL2Rldi9udWxsCisrKysgZ3JjL25yc2M1X2wxX2ZtX2VuY29kZXJfbXAyLmJsb2NrLnlt bAorQEAgLTAsMCArMSwzMCBAQAorKyMgYXV0by1nZW5lcmF0ZWQgYnkgZ3JjLmNvbnZlcnRlcgor KworK2lkOiBucnNjNV9sMV9mbV9lbmNvZGVyX21wMgorK2xhYmVsOiAnTGF5ZXIgMSBGTSBlbmNv ZGVyOiBNUDInCisrY2F0ZWdvcnk6ICdbTlJTQy01XScKKysKKytpbnB1dHM6CisrLSAgIGxhYmVs OiBwMQorKyAgICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAgICB2bGVuOiAx NDYxNzYKKystICAgbGFiZWw6IHAzCisrICAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBlOiBi eXRlCisrICAgIHZsZW46IDIzMDQKKystICAgbGFiZWw6IHBpZHMKKysgICAgZG9tYWluOiBzdHJl YW0KKysgICAgZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogODAKKysKKytvdXRwdXRzOgorKy0gICBk b21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAgICB2bGVuOiAxMDQ4NTc2CisrCisr dGVtcGxhdGVzOgorKyAgICBpbXBvcnRzOiBpbXBvcnQgbnJzYzUKKysgICAgbWFrZTogbnJzYzUu bDFfZm1fZW5jb2RlcigyKQorKworK2ZpbGVfZm9ybWF0OiAxCitkaWZmIC0tZ2l0IGEvZ3JjL25y c2M1X2wxX2ZtX2VuY29kZXJfbXAyLnhtbCBiL2dyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wMi54 bWwKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYTE3NjMwOS4uMDAwMDAwMAorLS0t IGdyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wMi54bWwKKysrKyAvZGV2L251bGwKK0BAIC0xLDI4 ICswLDAgQEAKKy08P3htbCB2ZXJzaW9uPSIxLjAiPz4KKy08YmxvY2s+CistICA8bmFtZT5MYXll ciAxIEZNIGVuY29kZXI6IE1QMjwvbmFtZT4KKy0gIDxrZXk+bnJzYzVfbDFfZm1fZW5jb2Rlcl9t cDI8L2tleT4KKy0gIDxjYXRlZ29yeT5bTlJTQy01XTwvY2F0ZWdvcnk+CistICA8aW1wb3J0Pmlt cG9ydCBucnNjNTwvaW1wb3J0PgorLSAgPG1ha2U+bnJzYzUubDFfZm1fZW5jb2RlcigyKTwvbWFr ZT4KKy0gIDxzaW5rPgorLSAgICA8bmFtZT5wMTwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlw ZT4KKy0gICAgPHZsZW4+MTQ2MTc2PC92bGVuPgorLSAgPC9zaW5rPgorLSAgPHNpbms+CistICAg IDxuYW1lPnAzPC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBlPgorLSAgICA8dmxlbj4yMzA0 PC92bGVuPgorLSAgPC9zaW5rPgorLSAgPHNpbms+CistICAgIDxuYW1lPnBpZHM8L25hbWU+Cist ICAgIDx0eXBlPmJ5dGU8L3R5cGU+CistICAgIDx2bGVuPjgwPC92bGVuPgorLSAgPC9zaW5rPgor LSAgPHNvdXJjZT4KKy0gICAgPG5hbWU+b3V0PC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBl PgorLSAgICA8dmxlbj4xMDQ4NTc2PC92bGVuPgorLSAgPC9zb3VyY2U+CistPC9ibG9jaz4KK2Rp ZmYgLS1naXQgYS9ncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDMuYmxvY2sueW1sIGIvZ3JjL25y c2M1X2wxX2ZtX2VuY29kZXJfbXAzLmJsb2NrLnltbAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAuLmU1MDc3Y2EKKy0tLSAvZGV2L251bGwKKysrKyBncmMvbnJzYzVfbDFfZm1f ZW5jb2Rlcl9tcDMuYmxvY2sueW1sCitAQCAtMCwwICsxLDMwIEBACisrIyBhdXRvLWdlbmVyYXRl ZCBieSBncmMuY29udmVydGVyCisrCisraWQ6IG5yc2M1X2wxX2ZtX2VuY29kZXJfbXAzCisrbGFi ZWw6ICdMYXllciAxIEZNIGVuY29kZXI6IE1QMycKKytjYXRlZ29yeTogJ1tOUlNDLTVdJworKwor K2lucHV0czoKKystICAgbGFiZWw6IHAxCisrICAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBl OiBieXRlCisrICAgIHZsZW46IDE0NjE3NgorKy0gICBsYWJlbDogcDMKKysgICAgZG9tYWluOiBz dHJlYW0KKysgICAgZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogNDYwOAorKy0gICBsYWJlbDogcGlk cworKyAgICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAgICB2bGVuOiA4MAor KworK291dHB1dHM6CisrLSAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBlOiBieXRlCisrICAg IHZsZW46IDEwNDg1NzYKKysKKyt0ZW1wbGF0ZXM6CisrICAgIGltcG9ydHM6IGltcG9ydCBucnNj NQorKyAgICBtYWtlOiBucnNjNS5sMV9mbV9lbmNvZGVyKDMpCisrCisrZmlsZV9mb3JtYXQ6IDEK K2RpZmYgLS1naXQgYS9ncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDMueG1sIGIvZ3JjL25yc2M1 X2wxX2ZtX2VuY29kZXJfbXAzLnhtbAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAx MWFmODlhLi4wMDAwMDAwCistLS0gZ3JjL25yc2M1X2wxX2ZtX2VuY29kZXJfbXAzLnhtbAorKysr IC9kZXYvbnVsbAorQEAgLTEsMjggKzAsMCBAQAorLTw/eG1sIHZlcnNpb249IjEuMCI/PgorLTxi bG9jaz4KKy0gIDxuYW1lPkxheWVyIDEgRk0gZW5jb2RlcjogTVAzPC9uYW1lPgorLSAgPGtleT5u cnNjNV9sMV9mbV9lbmNvZGVyX21wMzwva2V5PgorLSAgPGNhdGVnb3J5PltOUlNDLTVdPC9jYXRl Z29yeT4KKy0gIDxpbXBvcnQ+aW1wb3J0IG5yc2M1PC9pbXBvcnQ+CistICA8bWFrZT5ucnNjNS5s MV9mbV9lbmNvZGVyKDMpPC9tYWtlPgorLSAgPHNpbms+CistICAgIDxuYW1lPnAxPC9uYW1lPgor LSAgICA8dHlwZT5ieXRlPC90eXBlPgorLSAgICA8dmxlbj4xNDYxNzY8L3ZsZW4+CistICA8L3Np bms+CistICA8c2luaz4KKy0gICAgPG5hbWU+cDM8L25hbWU+CistICAgIDx0eXBlPmJ5dGU8L3R5 cGU+CistICAgIDx2bGVuPjQ2MDg8L3ZsZW4+CistICA8L3Npbms+CistICA8c2luaz4KKy0gICAg PG5hbWU+cGlkczwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+ODA8 L3ZsZW4+CistICA8L3Npbms+CistICA8c291cmNlPgorLSAgICA8bmFtZT5vdXQ8L25hbWU+Cist ICAgIDx0eXBlPmJ5dGU8L3R5cGU+CistICAgIDx2bGVuPjEwNDg1NzY8L3ZsZW4+CistICA8L3Nv dXJjZT4KKy08L2Jsb2NrPgorZGlmZiAtLWdpdCBhL2dyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21w NS5ibG9jay55bWwgYi9ncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDUuYmxvY2sueW1sCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNWE3OWEyMworLS0tIC9kZXYvbnVsbAor KysrIGdyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wNS5ibG9jay55bWwKK0BAIC0wLDAgKzEsMzQg QEAKKysjIGF1dG8tZ2VuZXJhdGVkIGJ5IGdyYy5jb252ZXJ0ZXIKKysKKytpZDogbnJzYzVfbDFf Zm1fZW5jb2Rlcl9tcDUKKytsYWJlbDogJ0xheWVyIDEgRk0gZW5jb2RlcjogTVA1JworK2NhdGVn b3J5OiAnW05SU0MtNV0nCisrCisraW5wdXRzOgorKy0gICBsYWJlbDogcDEKKysgICAgZG9tYWlu OiBzdHJlYW0KKysgICAgZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogNDYwOAorKy0gICBsYWJlbDog cDIKKysgICAgZG9tYWluOiBzdHJlYW0KKysgICAgZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogMTA5 MzEyCisrLSAgIGxhYmVsOiBwMworKyAgICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0 ZQorKyAgICB2bGVuOiA0NjA4CisrLSAgIGxhYmVsOiBwaWRzCisrICAgIGRvbWFpbjogc3RyZWFt CisrICAgIGR0eXBlOiBieXRlCisrICAgIHZsZW46IDgwCisrCisrb3V0cHV0czoKKystICAgZG9t YWluOiBzdHJlYW0KKysgICAgZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogMTA0ODU3NgorKworK3Rl bXBsYXRlczoKKysgICAgaW1wb3J0czogaW1wb3J0IG5yc2M1CisrICAgIG1ha2U6IG5yc2M1Lmwx X2ZtX2VuY29kZXIoNSkKKysKKytmaWxlX2Zvcm1hdDogMQorZGlmZiAtLWdpdCBhL2dyYy9ucnNj NV9sMV9mbV9lbmNvZGVyX21wNS54bWwgYi9ncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDUueG1s CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGU1YjUyMDkuLjAwMDAwMDAKKy0tLSBn cmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDUueG1sCisrKysgL2Rldi9udWxsCitAQCAtMSwzMyAr MCwwIEBACistPD94bWwgdmVyc2lvbj0iMS4wIj8+CistPGJsb2NrPgorLSAgPG5hbWU+TGF5ZXIg MSBGTSBlbmNvZGVyOiBNUDU8L25hbWU+CistICA8a2V5Pm5yc2M1X2wxX2ZtX2VuY29kZXJfbXA1 PC9rZXk+CistICA8Y2F0ZWdvcnk+W05SU0MtNV08L2NhdGVnb3J5PgorLSAgPGltcG9ydD5pbXBv cnQgbnJzYzU8L2ltcG9ydD4KKy0gIDxtYWtlPm5yc2M1LmwxX2ZtX2VuY29kZXIoNSk8L21ha2U+ CistICA8c2luaz4KKy0gICAgPG5hbWU+cDE8L25hbWU+CistICAgIDx0eXBlPmJ5dGU8L3R5cGU+ CistICAgIDx2bGVuPjQ2MDg8L3ZsZW4+CistICA8L3Npbms+CistICA8c2luaz4KKy0gICAgPG5h bWU+cDI8L25hbWU+CistICAgIDx0eXBlPmJ5dGU8L3R5cGU+CistICAgIDx2bGVuPjEwOTMxMjwv dmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzaW5rPgorLSAgICA8bmFtZT5wMzwvbmFtZT4KKy0gICAg PHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+NDYwODwvdmxlbj4KKy0gIDwvc2luaz4KKy0g IDxzaW5rPgorLSAgICA8bmFtZT5waWRzPC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBlPgor LSAgICA8dmxlbj44MDwvdmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzb3VyY2U+CistICAgIDxuYW1l Pm91dDwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+MTA0ODU3Njwv dmxlbj4KKy0gIDwvc291cmNlPgorLTwvYmxvY2s+CitkaWZmIC0tZ2l0IGEvZ3JjL25yc2M1X2wx X2ZtX2VuY29kZXJfbXA1X21zMS5ibG9jay55bWwgYi9ncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9t cDVfbXMxLmJsb2NrLnltbAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjM0 ZjlkOTMKKy0tLSAvZGV2L251bGwKKysrKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDVfbXMx LmJsb2NrLnltbAorQEAgLTAsMCArMSw0NiBAQAorKyMgYXV0by1nZW5lcmF0ZWQgYnkgZ3JjLmNv bnZlcnRlcgorKworK2lkOiBucnNjNV9sMV9mbV9lbmNvZGVyX21wNV9tczEKKytsYWJlbDogJ0xh eWVyIDEgRk0gZW5jb2RlcjogTVA1K01TMScKKytjYXRlZ29yeTogJ1tOUlNDLTVdJworKworK2lu cHV0czoKKystICAgbGFiZWw6IHAxCisrICAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBlOiBi eXRlCisrICAgIHZsZW46IDQ2MDgKKystICAgbGFiZWw6IHAyCisrICAgIGRvbWFpbjogc3RyZWFt CisrICAgIGR0eXBlOiBieXRlCisrICAgIHZsZW46IDEwOTMxMgorKy0gICBsYWJlbDogcDMKKysg ICAgZG9tYWluOiBzdHJlYW0KKysgICAgZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogNDYwOAorKy0g ICBsYWJlbDogcGlkcworKyAgICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAg ICB2bGVuOiA4MAorKy0gICBsYWJlbDogczQKKysgICAgZG9tYWluOiBzdHJlYW0KKysgICAgZHR5 cGU6IGJ5dGUKKysgICAgdmxlbjogMTgyNzIKKystICAgbGFiZWw6IHM1CisrICAgIGRvbWFpbjog c3RyZWFtCisrICAgIGR0eXBlOiBieXRlCisrICAgIHZsZW46IDUxMgorKy0gICBsYWJlbDogc2lk cworKyAgICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAgICB2bGVuOiA4MAor KworK291dHB1dHM6CisrLSAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBlOiBieXRlCisrICAg IHZsZW46IDEwNDg1NzYKKysKKyt0ZW1wbGF0ZXM6CisrICAgIGltcG9ydHM6IGltcG9ydCBucnNj NQorKyAgICBtYWtlOiBucnNjNS5sMV9mbV9lbmNvZGVyKDUsIDEpCisrCisrZmlsZV9mb3JtYXQ6 IDEKK2RpZmYgLS1naXQgYS9ncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDVfbXMxLnhtbCBiL2dy Yy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wNV9tczEueG1sCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IGZkNjZlMjkuLjAwMDAwMDAKKy0tLSBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9t cDVfbXMxLnhtbAorKysrIC9kZXYvbnVsbAorQEAgLTEsNDggKzAsMCBAQAorLTw/eG1sIHZlcnNp b249IjEuMCI/PgorLTxibG9jaz4KKy0gIDxuYW1lPkxheWVyIDEgRk0gZW5jb2RlcjogTVA1K01T MTwvbmFtZT4KKy0gIDxrZXk+bnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDVfbXMxPC9rZXk+CistICA8 Y2F0ZWdvcnk+W05SU0MtNV08L2NhdGVnb3J5PgorLSAgPGltcG9ydD5pbXBvcnQgbnJzYzU8L2lt cG9ydD4KKy0gIDxtYWtlPm5yc2M1LmwxX2ZtX2VuY29kZXIoNSwgMSk8L21ha2U+CistICA8c2lu az4KKy0gICAgPG5hbWU+cDE8L25hbWU+CistICAgIDx0eXBlPmJ5dGU8L3R5cGU+CistICAgIDx2 bGVuPjQ2MDg8L3ZsZW4+CistICA8L3Npbms+CistICA8c2luaz4KKy0gICAgPG5hbWU+cDI8L25h bWU+CistICAgIDx0eXBlPmJ5dGU8L3R5cGU+CistICAgIDx2bGVuPjEwOTMxMjwvdmxlbj4KKy0g IDwvc2luaz4KKy0gIDxzaW5rPgorLSAgICA8bmFtZT5wMzwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0 ZTwvdHlwZT4KKy0gICAgPHZsZW4+NDYwODwvdmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzaW5rPgor LSAgICA8bmFtZT5waWRzPC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBlPgorLSAgICA8dmxl bj44MDwvdmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzaW5rPgorLSAgICA8bmFtZT5zNDwvbmFtZT4K Ky0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+MTgyNzI8L3ZsZW4+CistICA8L3Np bms+CistICA8c2luaz4KKy0gICAgPG5hbWU+czU8L25hbWU+CistICAgIDx0eXBlPmJ5dGU8L3R5 cGU+CistICAgIDx2bGVuPjUxMjwvdmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzaW5rPgorLSAgICA8 bmFtZT5zaWRzPC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBlPgorLSAgICA8dmxlbj44MDwv dmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzb3VyY2U+CistICAgIDxuYW1lPm91dDwvbmFtZT4KKy0g ICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+MTA0ODU3Njwvdmxlbj4KKy0gIDwvc291 cmNlPgorLTwvYmxvY2s+CitkaWZmIC0tZ2l0IGEvZ3JjL25yc2M1X2wxX2ZtX2VuY29kZXJfbXA2 LmJsb2NrLnltbCBiL2dyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wNi5ibG9jay55bWwKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zMmVlMDUxCistLS0gL2Rldi9udWxsCisr KysgZ3JjL25yc2M1X2wxX2ZtX2VuY29kZXJfbXA2LmJsb2NrLnltbAorQEAgLTAsMCArMSwzMCBA QAorKyMgYXV0by1nZW5lcmF0ZWQgYnkgZ3JjLmNvbnZlcnRlcgorKworK2lkOiBucnNjNV9sMV9m bV9lbmNvZGVyX21wNgorK2xhYmVsOiAnTGF5ZXIgMSBGTSBlbmNvZGVyOiBNUDYnCisrY2F0ZWdv cnk6ICdbTlJTQy01XScKKysKKytpbnB1dHM6CisrLSAgIGxhYmVsOiBwMQorKyAgICBkb21haW46 IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAgICB2bGVuOiA5MjE2CisrLSAgIGxhYmVsOiBw MgorKyAgICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAgICB2bGVuOiA3MjQ0 OAorKy0gICBsYWJlbDogcGlkcworKyAgICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0 ZQorKyAgICB2bGVuOiA4MAorKworK291dHB1dHM6CisrLSAgIGRvbWFpbjogc3RyZWFtCisrICAg IGR0eXBlOiBieXRlCisrICAgIHZsZW46IDEwNDg1NzYKKysKKyt0ZW1wbGF0ZXM6CisrICAgIGlt cG9ydHM6IGltcG9ydCBucnNjNQorKyAgICBtYWtlOiBucnNjNS5sMV9mbV9lbmNvZGVyKDYpCisr CisrZmlsZV9mb3JtYXQ6IDEKK2RpZmYgLS1naXQgYS9ncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9t cDYueG1sIGIvZ3JjL25yc2M1X2wxX2ZtX2VuY29kZXJfbXA2LnhtbAorZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCBiMWIzZjA3Li4wMDAwMDAwCistLS0gZ3JjL25yc2M1X2wxX2ZtX2Vu Y29kZXJfbXA2LnhtbAorKysrIC9kZXYvbnVsbAorQEAgLTEsMjggKzAsMCBAQAorLTw/eG1sIHZl cnNpb249IjEuMCI/PgorLTxibG9jaz4KKy0gIDxuYW1lPkxheWVyIDEgRk0gZW5jb2RlcjogTVA2 PC9uYW1lPgorLSAgPGtleT5ucnNjNV9sMV9mbV9lbmNvZGVyX21wNjwva2V5PgorLSAgPGNhdGVn b3J5PltOUlNDLTVdPC9jYXRlZ29yeT4KKy0gIDxpbXBvcnQ+aW1wb3J0IG5yc2M1PC9pbXBvcnQ+ CistICA8bWFrZT5ucnNjNS5sMV9mbV9lbmNvZGVyKDYpPC9tYWtlPgorLSAgPHNpbms+CistICAg IDxuYW1lPnAxPC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBlPgorLSAgICA8dmxlbj45MjE2 PC92bGVuPgorLSAgPC9zaW5rPgorLSAgPHNpbms+CistICAgIDxuYW1lPnAyPC9uYW1lPgorLSAg ICA8dHlwZT5ieXRlPC90eXBlPgorLSAgICA8dmxlbj43MjQ0ODwvdmxlbj4KKy0gIDwvc2luaz4K Ky0gIDxzaW5rPgorLSAgICA8bmFtZT5waWRzPC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBl PgorLSAgICA8dmxlbj44MDwvdmxlbj4KKy0gIDwvc2luaz4KKy0gIDxzb3VyY2U+CistICAgIDxu YW1lPm91dDwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+MTA0ODU3 Njwvdmxlbj4KKy0gIDwvc291cmNlPgorLTwvYmxvY2s+CitkaWZmIC0tZ2l0IGEvZ3JjL25yc2M1 X2wxX2ZtX2VuY29kZXJfbXA2X21zMS5ibG9jay55bWwgYi9ncmMvbnJzYzVfbDFfZm1fZW5jb2Rl cl9tcDZfbXMxLmJsb2NrLnltbAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LmZlMzU5OTYKKy0tLSAvZGV2L251bGwKKysrKyBncmMvbnJzYzVfbDFfZm1fZW5jb2Rlcl9tcDZf bXMxLmJsb2NrLnltbAorQEAgLTAsMCArMSw0MiBAQAorKyMgYXV0by1nZW5lcmF0ZWQgYnkgZ3Jj LmNvbnZlcnRlcgorKworK2lkOiBucnNjNV9sMV9mbV9lbmNvZGVyX21wNl9tczEKKytsYWJlbDog J0xheWVyIDEgRk0gZW5jb2RlcjogTVA2K01TMScKKytjYXRlZ29yeTogJ1tOUlNDLTVdJworKwor K2lucHV0czoKKystICAgbGFiZWw6IHAxCisrICAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBl OiBieXRlCisrICAgIHZsZW46IDkyMTYKKystICAgbGFiZWw6IHAyCisrICAgIGRvbWFpbjogc3Ry ZWFtCisrICAgIGR0eXBlOiBieXRlCisrICAgIHZsZW46IDcyNDQ4CisrLSAgIGxhYmVsOiBwaWRz CisrICAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBlOiBieXRlCisrICAgIHZsZW46IDgwCisr LSAgIGxhYmVsOiBzNAorKyAgICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAg ICB2bGVuOiAxODI3MgorKy0gICBsYWJlbDogczUKKysgICAgZG9tYWluOiBzdHJlYW0KKysgICAg ZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogNTEyCisrLSAgIGxhYmVsOiBzaWRzCisrICAgIGRvbWFp bjogc3RyZWFtCisrICAgIGR0eXBlOiBieXRlCisrICAgIHZsZW46IDgwCisrCisrb3V0cHV0czoK KystICAgZG9tYWluOiBzdHJlYW0KKysgICAgZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogMTA0ODU3 NgorKworK3RlbXBsYXRlczoKKysgICAgaW1wb3J0czogaW1wb3J0IG5yc2M1CisrICAgIG1ha2U6 IG5yc2M1LmwxX2ZtX2VuY29kZXIoNiwgMSkKKysKKytmaWxlX2Zvcm1hdDogMQorZGlmZiAtLWdp dCBhL2dyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wNl9tczEueG1sIGIvZ3JjL25yc2M1X2wxX2Zt X2VuY29kZXJfbXA2X21zMS54bWwKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMjMw MjM0MS4uMDAwMDAwMAorLS0tIGdyYy9ucnNjNV9sMV9mbV9lbmNvZGVyX21wNl9tczEueG1sCisr KysgL2Rldi9udWxsCitAQCAtMSw0MyArMCwwIEBACistPD94bWwgdmVyc2lvbj0iMS4wIj8+Cist PGJsb2NrPgorLSAgPG5hbWU+TGF5ZXIgMSBGTSBlbmNvZGVyOiBNUDYrTVMxPC9uYW1lPgorLSAg PGtleT5ucnNjNV9sMV9mbV9lbmNvZGVyX21wNl9tczE8L2tleT4KKy0gIDxjYXRlZ29yeT5bTlJT Qy01XTwvY2F0ZWdvcnk+CistICA8aW1wb3J0PmltcG9ydCBucnNjNTwvaW1wb3J0PgorLSAgPG1h a2U+bnJzYzUubDFfZm1fZW5jb2Rlcig2LCAxKTwvbWFrZT4KKy0gIDxzaW5rPgorLSAgICA8bmFt ZT5wMTwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+OTIxNjwvdmxl bj4KKy0gIDwvc2luaz4KKy0gIDxzaW5rPgorLSAgICA8bmFtZT5wMjwvbmFtZT4KKy0gICAgPHR5 cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+NzI0NDg8L3ZsZW4+CistICA8L3Npbms+CistICA8 c2luaz4KKy0gICAgPG5hbWU+cGlkczwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0g ICAgPHZsZW4+ODA8L3ZsZW4+CistICA8L3Npbms+CistICA8c2luaz4KKy0gICAgPG5hbWU+czQ8 L25hbWU+CistICAgIDx0eXBlPmJ5dGU8L3R5cGU+CistICAgIDx2bGVuPjE4MjcyPC92bGVuPgor LSAgPC9zaW5rPgorLSAgPHNpbms+CistICAgIDxuYW1lPnM1PC9uYW1lPgorLSAgICA8dHlwZT5i eXRlPC90eXBlPgorLSAgICA8dmxlbj41MTI8L3ZsZW4+CistICA8L3Npbms+CistICA8c2luaz4K Ky0gICAgPG5hbWU+c2lkczwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZs ZW4+ODA8L3ZsZW4+CistICA8L3Npbms+CistICA8c291cmNlPgorLSAgICA8bmFtZT5vdXQ8L25h bWU+CistICAgIDx0eXBlPmJ5dGU8L3R5cGU+CistICAgIDx2bGVuPjEwNDg1NzY8L3ZsZW4+Cist ICA8L3NvdXJjZT4KKy08L2Jsb2NrPgorZGlmZiAtLWdpdCBhL2dyYy9ucnNjNV9sMl9lbmNvZGVy LmJsb2NrLnltbCBiL2dyYy9ucnNjNV9sMl9lbmNvZGVyLmJsb2NrLnltbAorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmY5NDZiMmEKKy0tLSAvZGV2L251bGwKKysrKyBncmMv bnJzYzVfbDJfZW5jb2Rlci5ibG9jay55bWwKK0BAIC0wLDAgKzEsNDQgQEAKKysjIGF1dG8tZ2Vu ZXJhdGVkIGJ5IGdyYy5jb252ZXJ0ZXIKKysKKytpZDogbnJzYzVfbDJfZW5jb2RlcgorK2xhYmVs OiBMYXllciAyIGVuY29kZXIKKytjYXRlZ29yeTogJ1tOUlNDLTVdJworKworK3BhcmFtZXRlcnM6 CisrLSAgIGlkOiBudW1fcHJvZ3MKKysgICAgbGFiZWw6IFByb2dyYW1zCisrICAgIGR0eXBlOiBp bnQKKysgICAgZGVmYXVsdDogMQorKy0gICBpZDogZmlyc3RfcHJvZworKyAgICBsYWJlbDogRmly c3QgcHJvZy4gbm8uCisrICAgIGR0eXBlOiBpbnQKKysgICAgZGVmYXVsdDogMAorKy0gICBpZDog c2l6ZQorKyAgICBsYWJlbDogRnJhbWUgc2l6ZQorKyAgICBkdHlwZTogaW50CisrICAgIGRlZmF1 bHQ6IDE0NjE3NgorKyAgICBvcHRpb25zOiBbMTQ2MTc2LCAxMDkzMTIsIDcyNDQ4LCAxODI3Miwg OTIxNiwgNDYwOCwgMjMwNF0KKysKKytpbnB1dHM6CisrLSAgIGxhYmVsOiBoZGMKKysgICAgZG9t YWluOiBzdHJlYW0KKysgICAgZHR5cGU6IGJ5dGUKKysgICAgbXVsdGlwbGljaXR5OiAkeyBudW1f cHJvZ3MgfQorKy0gICBsYWJlbDogcHNkCisrICAgIGRvbWFpbjogc3RyZWFtCisrICAgIGR0eXBl OiBieXRlCisrICAgIG11bHRpcGxpY2l0eTogJHsgbnVtX3Byb2dzIH0KKysKKytvdXRwdXRzOgor Ky0gICBkb21haW46IHN0cmVhbQorKyAgICBkdHlwZTogYnl0ZQorKyAgICB2bGVuOiAkeyBzaXpl IH0KKythc3NlcnRzOgorKy0gJHsgMCA8PSBmaXJzdF9wcm9nIDw9IDcgfQorKy0gJHsgMSA8PSBu dW1fcHJvZ3MgPD0gOCAtIGZpcnN0X3Byb2cgfQorKworK3RlbXBsYXRlczoKKysgICAgaW1wb3J0 czogaW1wb3J0IG5yc2M1CisrICAgIG1ha2U6IG5yc2M1LmwyX2VuY29kZXIoJHtudW1fcHJvZ3N9 LCAke2ZpcnN0X3Byb2d9LCAke3NpemV9KQorKworK2ZpbGVfZm9ybWF0OiAxCitkaWZmIC0tZ2l0 IGEvZ3JjL25yc2M1X2wyX2VuY29kZXIueG1sIGIvZ3JjL25yc2M1X2wyX2VuY29kZXIueG1sCitk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDIxNjk2OWEuLjAwMDAwMDAKKy0tLSBncmMv bnJzYzVfbDJfZW5jb2Rlci54bWwKKysrKyAvZGV2L251bGwKK0BAIC0xLDcxICswLDAgQEAKKy08 P3htbCB2ZXJzaW9uPSIxLjAiPz4KKy08YmxvY2s+CistICA8bmFtZT5MYXllciAyIGVuY29kZXI8 L25hbWU+CistICA8a2V5Pm5yc2M1X2wyX2VuY29kZXI8L2tleT4KKy0gIDxjYXRlZ29yeT5bTlJT Qy01XTwvY2F0ZWdvcnk+CistICA8aW1wb3J0PmltcG9ydCBucnNjNTwvaW1wb3J0PgorLSAgPG1h a2U+bnJzYzUubDJfZW5jb2RlcigkbnVtX3Byb2dzLCAkZmlyc3RfcHJvZywgJHNpemUpPC9tYWtl PgorLSAgPHBhcmFtPgorLSAgICA8bmFtZT5Qcm9ncmFtczwvbmFtZT4KKy0gICAgPGtleT5udW1f cHJvZ3M8L2tleT4KKy0gICAgPHZhbHVlPjE8L3ZhbHVlPgorLSAgICA8dHlwZT5pbnQ8L3R5cGU+ CistICA8L3BhcmFtPgorLSAgPHBhcmFtPgorLSAgICA8bmFtZT5GaXJzdCBwcm9nLiBuby48L25h bWU+CistICAgIDxrZXk+Zmlyc3RfcHJvZzwva2V5PgorLSAgICA8dmFsdWU+MDwvdmFsdWU+Cist ICAgIDx0eXBlPmludDwvdHlwZT4KKy0gIDwvcGFyYW0+CistICA8cGFyYW0+CistICAgIDxuYW1l PkZyYW1lIHNpemU8L25hbWU+CistICAgIDxrZXk+c2l6ZTwva2V5PgorLSAgICA8dmFsdWU+MTQ2 MTc2PC92YWx1ZT4KKy0gICAgPHR5cGU+aW50PC90eXBlPgorLSAgICA8b3B0aW9uPgorLSAgICAg IDxuYW1lPjE0NjE3NjwvbmFtZT4KKy0gICAgICA8a2V5PjE0NjE3Njwva2V5PgorLSAgICA8L29w dGlvbj4KKy0gICAgPG9wdGlvbj4KKy0gICAgICA8bmFtZT4xMDkzMTI8L25hbWU+CistICAgICAg PGtleT4xMDkzMTI8L2tleT4KKy0gICAgPC9vcHRpb24+CistICAgIDxvcHRpb24+CistICAgICAg PG5hbWU+NzI0NDg8L25hbWU+CistICAgICAgPGtleT43MjQ0ODwva2V5PgorLSAgICA8L29wdGlv bj4KKy0gICAgPG9wdGlvbj4KKy0gICAgICA8bmFtZT4xODI3MjwvbmFtZT4KKy0gICAgICA8a2V5 PjE4MjcyPC9rZXk+CistICAgIDwvb3B0aW9uPgorLSAgICA8b3B0aW9uPgorLSAgICAgIDxuYW1l PjkyMTY8L25hbWU+CistICAgICAgPGtleT45MjE2PC9rZXk+CistICAgIDwvb3B0aW9uPgorLSAg ICA8b3B0aW9uPgorLSAgICAgIDxuYW1lPjQ2MDg8L25hbWU+CistICAgICAgPGtleT40NjA4PC9r ZXk+CistICAgIDwvb3B0aW9uPgorLSAgICA8b3B0aW9uPgorLSAgICAgIDxuYW1lPjIzMDQ8L25h bWU+CistICAgICAgPGtleT4yMzA0PC9rZXk+CistICAgIDwvb3B0aW9uPgorLSAgPC9wYXJhbT4K Ky0gIDxjaGVjaz4wICZsdDs9ICRmaXJzdF9wcm9nICZsdDs9IDc8L2NoZWNrPgorLSAgPGNoZWNr PjEgJmx0Oz0gJG51bV9wcm9ncyAmbHQ7PSA4IC0gJGZpcnN0X3Byb2c8L2NoZWNrPgorLSAgPHNp bms+CistICAgIDxuYW1lPmhkYzwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAg PG5wb3J0cz4kbnVtX3Byb2dzPC9ucG9ydHM+CistICA8L3Npbms+CistICA8c2luaz4KKy0gICAg PG5hbWU+cHNkPC9uYW1lPgorLSAgICA8dHlwZT5ieXRlPC90eXBlPgorLSAgICA8bnBvcnRzPiRu dW1fcHJvZ3M8L25wb3J0cz4KKy0gIDwvc2luaz4KKy0gIDxzb3VyY2U+CistICAgIDxuYW1lPm91 dDwvbmFtZT4KKy0gICAgPHR5cGU+Ynl0ZTwvdHlwZT4KKy0gICAgPHZsZW4+JHNpemU8L3ZsZW4+ CistICA8L3NvdXJjZT4KKy08L2Jsb2NrPgorZGlmZiAtLWdpdCBhL2dyYy9ucnNjNV9wc2RfZW5j b2Rlci5ibG9jay55bWwgYi9ncmMvbnJzYzVfcHNkX2VuY29kZXIuYmxvY2sueW1sCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYjBkMjVlYQorLS0tIC9kZXYvbnVsbAorKysr IGdyYy9ucnNjNV9wc2RfZW5jb2Rlci5ibG9jay55bWwKK0BAIC0wLDAgKzEsMzEgQEAKKysjIGF1 dG8tZ2VuZXJhdGVkIGJ5IGdyYy5jb252ZXJ0ZXIKKysKKytpZDogbnJzYzVfcHNkX2VuY29kZXIK KytsYWJlbDogUFNEIGVuY29kZXIKKytjYXRlZ29yeTogJ1tOUlNDLTVdJworKworK3BhcmFtZXRl cnM6CisrLSAgIGlkOiBwcm9nX251bQorKyAgICBsYWJlbDogUHJvZ3JhbSBudW1iZXIKKysgICAg ZHR5cGU6IGludAorKyAgICBkZWZhdWx0OiAwCisrLSAgIGlkOiB0aXRsZQorKyAgICBsYWJlbDog VGl0bGUKKysgICAgZHR5cGU6IHN0cmluZworKyAgICBkZWZhdWx0OiBUaXRsZQorKy0gICBpZDog YXJ0aXN0CisrICAgIGxhYmVsOiBBcnRpc3QKKysgICAgZHR5cGU6IHN0cmluZworKyAgICBkZWZh dWx0OiBBcnRpc3QKKysKKytvdXRwdXRzOgorKy0gICBkb21haW46IHN0cmVhbQorKyAgICBkdHlw ZTogYnl0ZQorK2Fzc2VydHM6CisrLSAkeyAwIDw9IHByb2dfbnVtIDw9IDcgfQorKworK3RlbXBs YXRlczoKKysgICAgaW1wb3J0czogaW1wb3J0IG5yc2M1CisrICAgIG1ha2U6IG5yc2M1LnBzZF9l bmNvZGVyKCR7cHJvZ19udW19LCAke3RpdGxlfSwgJHthcnRpc3R9KQorKworK2ZpbGVfZm9ybWF0 OiAxCitkaWZmIC0tZ2l0IGEvZ3JjL25yc2M1X3BzZF9lbmNvZGVyLnhtbCBiL2dyYy9ucnNjNV9w c2RfZW5jb2Rlci54bWwKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggODgyOGRhNC4u MDAwMDAwMAorLS0tIGdyYy9ucnNjNV9wc2RfZW5jb2Rlci54bWwKKysrKyAvZGV2L251bGwKK0BA IC0xLDMxICswLDAgQEAKKy08P3htbCB2ZXJzaW9uPSIxLjAiPz4KKy08YmxvY2s+CistICA8bmFt ZT5QU0QgZW5jb2RlcjwvbmFtZT4KKy0gIDxrZXk+bnJzYzVfcHNkX2VuY29kZXI8L2tleT4KKy0g IDxjYXRlZ29yeT5bTlJTQy01XTwvY2F0ZWdvcnk+CistICA8aW1wb3J0PmltcG9ydCBucnNjNTwv aW1wb3J0PgorLSAgPG1ha2U+bnJzYzUucHNkX2VuY29kZXIoJHByb2dfbnVtLCAkdGl0bGUsICRh cnRpc3QpPC9tYWtlPgorLSAgPHBhcmFtPgorLSAgICA8bmFtZT5Qcm9ncmFtIG51bWJlcjwvbmFt ZT4KKy0gICAgPGtleT5wcm9nX251bTwva2V5PgorLSAgICA8dmFsdWU+MDwvdmFsdWU+CistICAg IDx0eXBlPmludDwvdHlwZT4KKy0gIDwvcGFyYW0+CistICA8cGFyYW0+CistICAgIDxuYW1lPlRp dGxlPC9uYW1lPgorLSAgICA8a2V5PnRpdGxlPC9rZXk+CistICAgIDx2YWx1ZT5UaXRsZTwvdmFs dWU+CistICAgIDx0eXBlPnN0cmluZzwvdHlwZT4KKy0gIDwvcGFyYW0+CistICA8cGFyYW0+Cist ICAgIDxuYW1lPkFydGlzdDwvbmFtZT4KKy0gICAgPGtleT5hcnRpc3Q8L2tleT4KKy0gICAgPHZh bHVlPkFydGlzdDwvdmFsdWU+CistICAgIDx0eXBlPnN0cmluZzwvdHlwZT4KKy0gIDwvcGFyYW0+ CistICA8Y2hlY2s+MCAmbHQ7PSAkcHJvZ19udW0gJmx0Oz0gNzwvY2hlY2s+CistICA8c291cmNl PgorLSAgICA8bmFtZT5vdXQ8L25hbWU+CistICAgIDx0eXBlPmJ5dGU8L3R5cGU+CistICA8L3Nv dXJjZT4KKy08L2Jsb2NrPgorZGlmZiAtLWdpdCBhL2dyYy9ucnNjNV9zaXNfZW5jb2Rlci5ibG9j ay55bWwgYi9ncmMvbnJzYzVfc2lzX2VuY29kZXIuYmxvY2sueW1sCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMC4uNDQ4YTc1MworLS0tIC9kZXYvbnVsbAorKysrIGdyYy9ucnNj NV9zaXNfZW5jb2Rlci5ibG9jay55bWwKK0BAIC0wLDAgKzEsMjQgQEAKKysjIGF1dG8tZ2VuZXJh dGVkIGJ5IGdyYy5jb252ZXJ0ZXIKKysKKytpZDogbnJzYzVfc2lzX2VuY29kZXIKKytsYWJlbDog U0lTIGVuY29kZXIKKytjYXRlZ29yeTogJ1tOUlNDLTVdJworKworK3BhcmFtZXRlcnM6CisrLSAg IGlkOiBzaG9ydF9uYW1lCisrICAgIGxhYmVsOiBTdGF0aW9uIG5hbWUKKysgICAgZHR5cGU6IHN0 cmluZworKyAgICBkZWZhdWx0OiBBQkNECisrCisrb3V0cHV0czoKKystICAgZG9tYWluOiBzdHJl YW0KKysgICAgZHR5cGU6IGJ5dGUKKysgICAgdmxlbjogODAKKythc3NlcnRzOgorKy0gJHsgbGVu KHNob3J0X25hbWUpID09IDQgfQorKworK3RlbXBsYXRlczoKKysgICAgaW1wb3J0czogaW1wb3J0 IG5yc2M1CisrICAgIG1ha2U6IG5yc2M1LnNpc19lbmNvZGVyKCR7c2hvcnRfbmFtZX0pCisrCisr ZmlsZV9mb3JtYXQ6IDEKK2RpZmYgLS1naXQgYS9ncmMvbnJzYzVfc2lzX2VuY29kZXIueG1sIGIv Z3JjL25yc2M1X3Npc19lbmNvZGVyLnhtbAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAyYmQ2ZjFhLi4wMDAwMDAwCistLS0gZ3JjL25yc2M1X3Npc19lbmNvZGVyLnhtbAorKysrIC9k ZXYvbnVsbAorQEAgLTEsMjAgKzAsMCBAQAorLTw/eG1sIHZlcnNpb249IjEuMCI/PgorLTxibG9j az4KKy0gIDxuYW1lPlNJUyBlbmNvZGVyPC9uYW1lPgorLSAgPGtleT5ucnNjNV9zaXNfZW5jb2Rl cjwva2V5PgorLSAgPGNhdGVnb3J5PltOUlNDLTVdPC9jYXRlZ29yeT4KKy0gIDxpbXBvcnQ+aW1w b3J0IG5yc2M1PC9pbXBvcnQ+CistICA8bWFrZT5ucnNjNS5zaXNfZW5jb2Rlcigkc2hvcnRfbmFt ZSk8L21ha2U+CistICA8cGFyYW0+CistICAgIDxuYW1lPlN0YXRpb24gbmFtZTwvbmFtZT4KKy0g ICAgPGtleT5zaG9ydF9uYW1lPC9rZXk+CistICAgIDx2YWx1ZT5BQkNEPC92YWx1ZT4KKy0gICAg PHR5cGU+c3RyaW5nPC90eXBlPgorLSAgPC9wYXJhbT4KKy0gIDxjaGVjaz5sZW4oJHNob3J0X25h bWUpID09IDQ8L2NoZWNrPgorLSAgPHNvdXJjZT4KKy0gICAgPG5hbWU+b3V0PC9uYW1lPgorLSAg ICA8dHlwZT5ieXRlPC90eXBlPgorLSAgICA8dmxlbj44MDwvdmxlbj4KKy0gIDwvc291cmNlPgor LTwvYmxvY2s+CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ucnNjNS9DTWFrZUxpc3RzLnR4dCBiL2lu Y2x1ZGUvbnJzYzUvQ01ha2VMaXN0cy50eHQKK2luZGV4IGIzYzJjNWQuLjA0Yzc0YzMgMTAwNjQ0 CistLS0gaW5jbHVkZS9ucnNjNS9DTWFrZUxpc3RzLnR4dAorKysrIGluY2x1ZGUvbnJzYzUvQ01h a2VMaXN0cy50eHQKK0BAIC0xLDYgKzEsNyBAQAorICMgQ29weXJpZ2h0IDIwMTEsMjAxMiBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAjCistIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBH TlUgUmFkaW8KKysjIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGdyX21vZHRvb2wsIGEgdG9v bCBmcm9tIHRoZSBHTlUgUmFkaW8gZnJhbWV3b3JrCisrIyBUaGlzIGZpbGUgaXMgYSBwYXJ0IG9m IGdyLW5yc2M1CisgIworICMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtMjIsOSArMjMs OSBAQAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIGluc3RhbGwoRklMRVMKKyAgICAgYXBpLmgKKysgICAg aGRjX2VuY29kZXIuaAorICAgICBsMV9mbV9lbmNvZGVyLmgKKy0gICAgc2lzX2VuY29kZXIuaAor ICAgICBsMl9lbmNvZGVyLmgKKy0gICAgaGRjX2VuY29kZXIuaAorLSAgICBwc2RfZW5jb2Rlci5o IERFU1RJTkFUSU9OIGluY2x1ZGUvbnJzYzUKKysgICAgcHNkX2VuY29kZXIuaAorKyAgICBzaXNf ZW5jb2Rlci5oIERFU1RJTkFUSU9OIGluY2x1ZGUvbnJzYzUKKyApCitkaWZmIC0tZ2l0IGEvaW5j bHVkZS9ucnNjNS9hcGkuaCBiL2luY2x1ZGUvbnJzYzUvYXBpLmgKK2luZGV4IGYwZThhZjcuLjQ0 OWI1ODYgMTAwNjQ0CistLS0gaW5jbHVkZS9ucnNjNS9hcGkuaAorKysrIGluY2x1ZGUvbnJzYzUv YXBpLmgKK0BAIC0xLDcgKzEsOCBAQAorIC8qCisgICogQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICoKKy0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUg UmFkaW8KKysgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wg ZnJvbSB0aGUgR05VIFJhZGlvIGZyYW1ld29yaworKyAqIFRoaXMgZmlsZSBpcyBhIHBhcnQgb2Yg Z3ItbnJzYzUKKyAgKgorICAqIEdOVSBSYWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKK2RpZmYgLS1naXQg YS9pbmNsdWRlL25yc2M1L2hkY19lbmNvZGVyLmggYi9pbmNsdWRlL25yc2M1L2hkY19lbmNvZGVy LmgKK2luZGV4IDVkZTE0OTAuLjRiNDBiMTQgMTAwNjQ0CistLS0gaW5jbHVkZS9ucnNjNS9oZGNf ZW5jb2Rlci5oCisrKysgaW5jbHVkZS9ucnNjNS9oZGNfZW5jb2Rlci5oCitAQCAtMTgsNyArMTgs NiBAQAorICAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICAqLworIAorLQorICNpZm5k ZWYgSU5DTFVERURfTlJTQzVfSERDX0VOQ09ERVJfSAorICNkZWZpbmUgSU5DTFVERURfTlJTQzVf SERDX0VOQ09ERVJfSAorIAorZGlmZiAtLWdpdCBhL2luY2x1ZGUvbnJzYzUvbDFfZm1fZW5jb2Rl ci5oIGIvaW5jbHVkZS9ucnNjNS9sMV9mbV9lbmNvZGVyLmgKK2luZGV4IDljZWJlYzYuLjUyZGYw OWQgMTAwNjQ0CistLS0gaW5jbHVkZS9ucnNjNS9sMV9mbV9lbmNvZGVyLmgKKysrKyBpbmNsdWRl L25yc2M1L2wxX2ZtX2VuY29kZXIuaAorQEAgLTE4LDcgKzE4LDYgQEAKKyAgKiBCb3N0b24sIE1B IDAyMTEwLTEzMDEsIFVTQS4KKyAgKi8KKyAKKy0KKyAjaWZuZGVmIElOQ0xVREVEX05SU0M1X0wx X0ZNX0VOQ09ERVJfSAorICNkZWZpbmUgSU5DTFVERURfTlJTQzVfTDFfRk1fRU5DT0RFUl9ICisg CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ucnNjNS9sMl9lbmNvZGVyLmggYi9pbmNsdWRlL25yc2M1 L2wyX2VuY29kZXIuaAoraW5kZXggOTM1ZjNiNi4uNGEzYmFjMCAxMDA2NDQKKy0tLSBpbmNsdWRl L25yc2M1L2wyX2VuY29kZXIuaAorKysrIGluY2x1ZGUvbnJzYzUvbDJfZW5jb2Rlci5oCitAQCAt MTgsNyArMTgsNiBAQAorICAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICAqLworIAor LQorICNpZm5kZWYgSU5DTFVERURfTlJTQzVfTDJfRU5DT0RFUl9ICisgI2RlZmluZSBJTkNMVURF RF9OUlNDNV9MMl9FTkNPREVSX0gKKyAKK2RpZmYgLS1naXQgYS9pbmNsdWRlL25yc2M1L3BzZF9l bmNvZGVyLmggYi9pbmNsdWRlL25yc2M1L3BzZF9lbmNvZGVyLmgKK2luZGV4IGY5MTZjNzEuLmQ2 Y2JjYTUgMTAwNjQ0CistLS0gaW5jbHVkZS9ucnNjNS9wc2RfZW5jb2Rlci5oCisrKysgaW5jbHVk ZS9ucnNjNS9wc2RfZW5jb2Rlci5oCitAQCAtMTgsNyArMTgsNiBAQAorICAqIEJvc3RvbiwgTUEg MDIxMTAtMTMwMSwgVVNBLgorICAqLworIAorLQorICNpZm5kZWYgSU5DTFVERURfTlJTQzVfUFNE X0VOQ09ERVJfSAorICNkZWZpbmUgSU5DTFVERURfTlJTQzVfUFNEX0VOQ09ERVJfSAorIAorZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbnJzYzUvc2lzX2VuY29kZXIuaCBiL2luY2x1ZGUvbnJzYzUvc2lz X2VuY29kZXIuaAoraW5kZXggYWU2NWMyZi4uNzNlMjZkZSAxMDA2NDQKKy0tLSBpbmNsdWRlL25y c2M1L3Npc19lbmNvZGVyLmgKKysrKyBpbmNsdWRlL25yc2M1L3Npc19lbmNvZGVyLmgKK0BAIC0x OCw3ICsxOCw2IEBACisgICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgICovCisgCist CisgI2lmbmRlZiBJTkNMVURFRF9OUlNDNV9TSVNfRU5DT0RFUl9ICisgI2RlZmluZSBJTkNMVURF RF9OUlNDNV9TSVNfRU5DT0RFUl9ICisgCitkaWZmIC0tZ2l0IGEvbGliL0NNYWtlTGlzdHMudHh0 IGIvbGliL0NNYWtlTGlzdHMudHh0CitpbmRleCA5Zjg3ZTIwLi5hMjNhZWY1IDEwMDY0NAorLS0t IGxpYi9DTWFrZUxpc3RzLnR4dAorKysrIGxpYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEsNiArMSw3 IEBACistIyBDb3B5cmlnaHQgMjAxMSwyMDEyLDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisrIyBDb3B5cmlnaHQgMjAxMSwyMDEyLDIwMTYsMjAxOCwyMDE5IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgorICMKKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRp bworKyMgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgZ3JfbW9kdG9vbCwgYSB0b29sIGZyb20g dGhlIEdOVSBSYWRpbyBmcmFtZXdvcmsKKysjIFRoaXMgZmlsZSBpcyBhIHBhcnQgb2YgZ3ItbnJz YzUKKyAjCisgIyBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKK0BAIC0yMiwyNSArMjMsMjYgQEAK KyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKyBpbmNsdWRlKEdyUGxhdGZvcm0pICNkZWZpbmUgTElCX1NVRkZJ WAorIAorLWluY2x1ZGVfZGlyZWN0b3JpZXMoJHtCb29zdF9JTkNMVURFX0RJUn0pCistbGlua19k aXJlY3Rvcmllcygke0Jvb3N0X0xJQlJBUllfRElSU30pCistCisgbGlzdChBUFBFTkQgbnJzYzVf c291cmNlcworKyAgICBoZGNfZW5jb2Rlcl9pbXBsLmNjCisgICAgIGwxX2ZtX2VuY29kZXJfaW1w bC5jYworLSAgICBzaXNfZW5jb2Rlcl9pbXBsLmNjCisgICAgIGwyX2VuY29kZXJfaW1wbC5jYwor LSAgICBoZGNfZW5jb2Rlcl9pbXBsLmNjCisgICAgIHBzZF9lbmNvZGVyX2ltcGwuY2MKKysgICAg c2lzX2VuY29kZXJfaW1wbC5jYworICkKKyAKKyBzZXQobnJzYzVfc291cmNlcyAiJHtucnNjNV9z b3VyY2VzfSIgUEFSRU5UX1NDT1BFKQorIGlmKE5PVCBucnNjNV9zb3VyY2VzKQorLQlNRVNTQUdF KFNUQVRVUyAiTm8gQysrIHNvdXJjZXMuLi4gc2tpcHBpbmcgbGliLyIpCistCXJldHVybigpCisr ICAgIE1FU1NBR0UoU1RBVFVTICJObyBDKysgc291cmNlcy4uLiBza2lwcGluZyBsaWIvIikKKysg ICAgcmV0dXJuKCkKKyBlbmRpZihOT1QgbnJzYzVfc291cmNlcykKKyAKKyBhZGRfbGlicmFyeShn bnVyYWRpby1ucnNjNSBTSEFSRUQgJHtucnNjNV9zb3VyY2VzfSkKKy10YXJnZXRfbGlua19saWJy YXJpZXMoZ251cmFkaW8tbnJzYzUgJHtCb29zdF9MSUJSQVJJRVN9ICR7R05VUkFESU9fQUxMX0xJ QlJBUklFU30gZmRrLWFhYykKKyt0YXJnZXRfbGlua19saWJyYXJpZXMoZ251cmFkaW8tbnJzYzUg Z251cmFkaW86OmdudXJhZGlvLXJ1bnRpbWUgZ251cmFkaW86OmdudXJhZGlvLWZlYyBmZGstYWFj KQorK3RhcmdldF9pbmNsdWRlX2RpcmVjdG9yaWVzKGdudXJhZGlvLW5yc2M1CisrICAgIFBVQkxJ QyAkPEJVSUxEX0lOVEVSRkFDRToke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vaW5jbHVk ZT4KKysgICAgUFVCTElDICQ8SU5TVEFMTF9JTlRFUkZBQ0U6aW5jbHVkZT4KKysgICkKKyBzZXRf dGFyZ2V0X3Byb3BlcnRpZXMoZ251cmFkaW8tbnJzYzUgUFJPUEVSVElFUyBERUZJTkVfU1lNQk9M ICJnbnVyYWRpb19ucnNjNV9FWFBPUlRTIikKKyAKKyBpZihBUFBMRSkKK0BAIC01MywzNCArNTUs MzQgQEAgZW5kaWYoQVBQTEUpCisgIyBJbnN0YWxsIGJ1aWx0IGxpYnJhcnkgZmlsZXMKKyAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKyBpbmNsdWRlKEdyTWlzY1V0aWxzKQorLUdSX0xJQlJBUllfRk9PKGdudXJh ZGlvLW5yc2M1IFJVTlRJTUVfQ09NUE9ORU5UICJucnNjNV9ydW50aW1lIiBERVZFTF9DT01QT05F TlQgIm5yc2M1X2RldmVsIikKKytHUl9MSUJSQVJZX0ZPTyhnbnVyYWRpby1ucnNjNSkKKysKKysj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKysjIFByaW50IHN1bW1hcnkKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyttZXNz YWdlKFNUQVRVUyAiVXNpbmcgaW5zdGFsbCBwcmVmaXg6ICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9 IikKKyttZXNzYWdlKFNUQVRVUyAiQnVpbGRpbmcgZm9yIHZlcnNpb246ICR7VkVSU0lPTn0gLyAk e0xJQlZFUn0iKQorIAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgQnVpbGQgYW5kIHJlZ2lzdGVyIHVu aXQgdGVzdAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIGluY2x1ZGUoR3JUZXN0KQorIAorLWluY2x1ZGVf ZGlyZWN0b3JpZXMoJHtDUFBVTklUX0lOQ0xVREVfRElSU30pCistCisrIyBJZiB5b3VyIHVuaXQg dGVzdHMgcmVxdWlyZSBzcGVjaWFsIGluY2x1ZGUgcGF0aHMsIGFkZCB0aGVtIGhlcmUKKysjaW5j bHVkZV9kaXJlY3RvcmllcygpCisrIyBMaXN0IGFsbCBmaWxlcyB0aGF0IGNvbnRhaW4gQm9vc3Qu VVRGIHVuaXQgdGVzdHMgaGVyZQorIGxpc3QoQVBQRU5EIHRlc3RfbnJzYzVfc291cmNlcworLSAg ICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vdGVzdF9ucnNjNS5jYworLSAgICAke0NNQUtF X0NVUlJFTlRfU09VUkNFX0RJUn0vcWFfbnJzYzUuY2MKKyApCisrIyBBbnl0aGluZyB3ZSBuZWVk IHRvIGxpbmsgdG8gZm9yIHRoZSB1bml0IHRlc3RzIGdvIGhlcmUKKytsaXN0KEFQUEVORCBHUl9U RVNUX1RBUkdFVF9ERVBTIGdudXJhZGlvLW5yc2M1KQorIAorLWFkZF9leGVjdXRhYmxlKHRlc3Qt bnJzYzUgJHt0ZXN0X25yc2M1X3NvdXJjZXN9KQorLQorLXRhcmdldF9saW5rX2xpYnJhcmllcygK Ky0gIHRlc3QtbnJzYzUKKy0gICR7R05VUkFESU9fUlVOVElNRV9MSUJSQVJJRVN9CistICAke0Jv b3N0X0xJQlJBUklFU30KKy0gICR7Q1BQVU5JVF9MSUJSQVJJRVN9CistICBnbnVyYWRpby1ucnNj NQorLSkKKytpZihOT1QgdGVzdF9ucnNjNV9zb3VyY2VzKQorKyAgICBNRVNTQUdFKFNUQVRVUyAi Tm8gQysrIHVuaXQgdGVzdHMuLi4gc2tpcHBpbmciKQorKyAgICByZXR1cm4oKQorK2VuZGlmKE5P VCB0ZXN0X25yc2M1X3NvdXJjZXMpCisgCistR1JfQUREX1RFU1QodGVzdF9ucnNjNSB0ZXN0LW5y c2M1KQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgUHJpbnQgc3VtbWFyeQorLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworLW1lc3NhZ2UoU1RBVFVTICJVc2luZyBpbnN0YWxsIHByZWZpeDogJHtDTUFLRV9JTlNU QUxMX1BSRUZJWH0iKQorLW1lc3NhZ2UoU1RBVFVTICJCdWlsZGluZyBmb3IgdmVyc2lvbjogJHtW RVJTSU9OfSAvICR7TElCVkVSfSIpCisrZm9yZWFjaChxYV9maWxlICR7dGVzdF9ucnNjNV9zb3Vy Y2VzfSkKKysgICAgR1JfQUREX0NQUF9URVNUKCJucnNjNV8ke3FhX2ZpbGV9IgorKyAgICAgICAg JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7cWFfZmlsZX0KKysgICAgKQorK2VuZGZvcmVh Y2gocWFfZmlsZSkKK2RpZmYgLS1naXQgYS9saWIvaGRjX2VuY29kZXJfaW1wbC5jYyBiL2xpYi9o ZGNfZW5jb2Rlcl9pbXBsLmNjCitpbmRleCA3MDZjMmFjLi44OWIxMzc0IDEwMDY0NAorLS0tIGxp Yi9oZGNfZW5jb2Rlcl9pbXBsLmNjCisrKysgbGliL2hkY19lbmNvZGVyX2ltcGwuY2MKK0BAIC0z NSw2ICszNSw3IEBAIG5hbWVzcGFjZSBnciB7CisgICAgICAgICAobmV3IGhkY19lbmNvZGVyX2lt cGwoY2hhbm5lbHMsIGJpdHJhdGUpKTsKKyAgICAgfQorIAorKworICAgICAvKgorICAgICAgKiBU aGUgcHJpdmF0ZSBjb25zdHJ1Y3RvcgorICAgICAgKi8KK2RpZmYgLS1naXQgYS9saWIvaGRjX2Vu Y29kZXJfaW1wbC5oIGIvbGliL2hkY19lbmNvZGVyX2ltcGwuaAoraW5kZXggZmY2YjFkMi4uYWE1 YTVhNiAxMDA2NDQKKy0tLSBsaWIvaGRjX2VuY29kZXJfaW1wbC5oCisrKysgbGliL2hkY19lbmNv ZGVyX2ltcGwuaAorQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIGdyIHsKKyAgICAgICAgICAg IGdyX3ZlY3Rvcl9pbnQgJm5pbnB1dF9pdGVtcywKKyAgICAgICAgICAgIGdyX3ZlY3Rvcl9jb25z dF92b2lkX3N0YXIgJmlucHV0X2l0ZW1zLAorICAgICAgICAgICAgZ3JfdmVjdG9yX3ZvaWRfc3Rh ciAmb3V0cHV0X2l0ZW1zKTsKKysKKyAgICAgfTsKKyAKKyAgIH0gLy8gbmFtZXNwYWNlIG5yc2M1 CitkaWZmIC0tZ2l0IGEvbGliL2wxX2ZtX2VuY29kZXJfaW1wbC5jYyBiL2xpYi9sMV9mbV9lbmNv ZGVyX2ltcGwuY2MKK2luZGV4IDY4NjE3MDAuLmJlZjk1ZWEgMTAwNjQ0CistLS0gbGliL2wxX2Zt X2VuY29kZXJfaW1wbC5jYworKysrIGxpYi9sMV9mbV9lbmNvZGVyX2ltcGwuY2MKK0BAIC0xMDUs NiArMTA1LDcgQEAgbmFtZXNwYWNlIGdyIHsKKyAgICAgICAgIChuZXcgbDFfZm1fZW5jb2Rlcl9p bXBsKHBzbSwgc3NtKSk7CisgICAgIH0KKyAKKysKKyAgICAgLyoKKyAgICAgICogVGhlIHByaXZh dGUgY29uc3RydWN0b3IKKyAgICAgICovCitkaWZmIC0tZ2l0IGEvbGliL2wxX2ZtX2VuY29kZXJf aW1wbC5oIGIvbGliL2wxX2ZtX2VuY29kZXJfaW1wbC5oCitpbmRleCBlMGJiYTI0Li5hMWRiM2My IDEwMDY0NAorLS0tIGxpYi9sMV9mbV9lbmNvZGVyX2ltcGwuaAorKysrIGxpYi9sMV9mbV9lbmNv ZGVyX2ltcGwuaAorQEAgLTEwNSw2ICsxMDUsNyBAQCBuYW1lc3BhY2UgZ3IgeworICAgICAgICAg ICAgZ3JfdmVjdG9yX2ludCAmbmlucHV0X2l0ZW1zLAorICAgICAgICAgICAgZ3JfdmVjdG9yX2Nv bnN0X3ZvaWRfc3RhciAmaW5wdXRfaXRlbXMsCisgICAgICAgICAgICBncl92ZWN0b3Jfdm9pZF9z dGFyICZvdXRwdXRfaXRlbXMpOworKworICAgICB9OworIAorICAgfSAvLyBuYW1lc3BhY2UgbnJz YzUKK2RpZmYgLS1naXQgYS9saWIvbDJfZW5jb2Rlcl9pbXBsLmNjIGIvbGliL2wyX2VuY29kZXJf aW1wbC5jYworaW5kZXggY2UxNDcxNC4uMmVmODFjOCAxMDA2NDQKKy0tLSBsaWIvbDJfZW5jb2Rl cl9pbXBsLmNjCisrKysgbGliL2wyX2VuY29kZXJfaW1wbC5jYworQEAgLTQxLDYgKzQxLDcgQEAg bmFtZXNwYWNlIGdyIHsKKyAgICAgICAgIChuZXcgbDJfZW5jb2Rlcl9pbXBsKG51bV9wcm9ncywg Zmlyc3RfcHJvZywgc2l6ZSkpOworICAgICB9CisgCisrCisgICAgIC8qCisgICAgICAqIFRoZSBw cml2YXRlIGNvbnN0cnVjdG9yCisgICAgICAqLworZGlmZiAtLWdpdCBhL2xpYi9sMl9lbmNvZGVy X2ltcGwuaCBiL2xpYi9sMl9lbmNvZGVyX2ltcGwuaAoraW5kZXggOWZhOTQ5NC4uMDg0Mzk1YSAx MDA2NDQKKy0tLSBsaWIvbDJfZW5jb2Rlcl9pbXBsLmgKKysrKyBsaWIvbDJfZW5jb2Rlcl9pbXBs LmgKK0BAIC04NSw2ICs4NSw3IEBAIG5hbWVzcGFjZSBnciB7CisgICAgICAgICAgICBncl92ZWN0 b3JfaW50ICZuaW5wdXRfaXRlbXMsCisgICAgICAgICAgICBncl92ZWN0b3JfY29uc3Rfdm9pZF9z dGFyICZpbnB1dF9pdGVtcywKKyAgICAgICAgICAgIGdyX3ZlY3Rvcl92b2lkX3N0YXIgJm91dHB1 dF9pdGVtcyk7CisrCisgICAgIH07CisgCisgICB9IC8vIG5hbWVzcGFjZSBucnNjNQorZGlmZiAt LWdpdCBhL2xpYi9wc2RfZW5jb2Rlcl9pbXBsLmNjIGIvbGliL3BzZF9lbmNvZGVyX2ltcGwuY2MK K2luZGV4IGFjYjQwMTAuLjI5YzllZDcgMTAwNjQ0CistLS0gbGliL3BzZF9lbmNvZGVyX2ltcGwu Y2MKKysrKyBsaWIvcHNkX2VuY29kZXJfaW1wbC5jYworQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNw YWNlIGdyIHsKKyAgICAgICAgIChuZXcgcHNkX2VuY29kZXJfaW1wbChwcm9nX251bSwgdGl0bGUs IGFydGlzdCkpOworICAgICB9CisgCisrCisgICAgIC8qCisgICAgICAqIFRoZSBwcml2YXRlIGNv bnN0cnVjdG9yCisgICAgICAqLworZGlmZiAtLWdpdCBhL2xpYi9xYV9ucnNjNS5jYyBiL2xpYi9x YV9ucnNjNS5jYworZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBiNTIzZWIyLi4wMDAw MDAwCistLS0gbGliL3FhX25yc2M1LmNjCisrKysgL2Rldi9udWxsCitAQCAtMSwzNiArMCwwIEBA CistLyoKKy0gKiBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K Ky0gKgorLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBSYWRpbworLSAqCistICogR05VIFJh ZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKy0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikKKy0gKiBhbnkgbGF0ZXIgdmVyc2lv bi4KKy0gKgorLSAqIEdOVSBSYWRpbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistICoKKy0gKiBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSAqIGFs b25nIHdpdGggR05VIFJhZGlvOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUg dG8KKy0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT dHJlZXQsCistICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCistICovCistCistLyoKKy0g KiBUaGlzIGNsYXNzIGdhdGhlcnMgdG9nZXRoZXIgYWxsIHRoZSB0ZXN0IGNhc2VzIGZvciB0aGUg Z3ItZmlsdGVyCistICogZGlyZWN0b3J5IGludG8gYSBzaW5nbGUgdGVzdCBzdWl0ZS4gIEFzIHlv dSBjcmVhdGUgbmV3IHRlc3QgY2FzZXMsCistICogYWRkIHRoZW0gaGVyZS4KKy0gKi8KKy0KKy0j aW5jbHVkZSAicWFfbnJzYzUuaCIKKy0KKy1DcHBVbml0OjpUZXN0U3VpdGUgKgorLXFhX25yc2M1 OjpzdWl0ZSgpCisteworLSAgQ3BwVW5pdDo6VGVzdFN1aXRlICpzID0gbmV3IENwcFVuaXQ6OlRl c3RTdWl0ZSgibnJzYzUiKTsKKy0KKy0gIHJldHVybiBzOworLX0KK2RpZmYgLS1naXQgYS9saWIv cWFfbnJzYzUuaCBiL2xpYi9xYV9ucnNjNS5oCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDhjY2YwZjUuLjAwMDAwMDAKKy0tLSBsaWIvcWFfbnJzYzUuaAorKysrIC9kZXYvbnVsbAor QEAgLTEsMzggKzAsMCBAQAorLS8qIC0qLSBjKysgLSotICovCistLyoKKy0gKiBDb3B5cmlnaHQg MjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0gKgorLSAqIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIEdOVSBSYWRpbworLSAqCistICogR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0gKiBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChh dCB5b3VyIG9wdGlvbikKKy0gKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0gKgorLSAqIEdOVSBSYWRp byBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCistICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQorLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCistICoKKy0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSAqIGFsb25nIHdpdGggR05VIFJhZGlvOyBz ZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8KKy0gKiB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsCistICogQm9zdG9uLCBN QSAwMjExMC0xMzAxLCBVU0EuCistICovCistCistI2lmbmRlZiBfUUFfTlJTQzVfSF8KKy0jZGVm aW5lIF9RQV9OUlNDNV9IXworLQorLSNpbmNsdWRlIDxnbnVyYWRpby9hdHRyaWJ1dGVzLmg+Cist I2luY2x1ZGUgPGNwcHVuaXQvVGVzdFN1aXRlLmg+CistCistLy8hIGNvbGxlY3QgYWxsIHRoZSB0 ZXN0cyBmb3IgdGhlIGdyLWZpbHRlciBkaXJlY3RvcnkKKy0KKy1jbGFzcyBfX0dSX0FUVFJfRVhQ T1JUIHFhX25yc2M1CisteworLSBwdWJsaWM6CistICAvLyEgcmV0dXJuIHN1aXRlIG9mIHRlc3Rz IGZvciBhbGwgb2YgZ3ItZmlsdGVyIGRpcmVjdG9yeQorLSAgc3RhdGljIENwcFVuaXQ6OlRlc3RT dWl0ZSAqc3VpdGUoKTsKKy19OworLQorLSNlbmRpZiAvKiBfUUFfTlJTQzVfSF8gKi8KK2RpZmYg LS1naXQgYS9saWIvc2lzX2VuY29kZXJfaW1wbC5jYyBiL2xpYi9zaXNfZW5jb2Rlcl9pbXBsLmNj CitpbmRleCAyZTFjYjE5Li43MTRiZmIwIDEwMDY0NAorLS0tIGxpYi9zaXNfZW5jb2Rlcl9pbXBs LmNjCisrKysgbGliL3Npc19lbmNvZGVyX2ltcGwuY2MKK0BAIC0zNSw2ICszNSw3IEBAIG5hbWVz cGFjZSBnciB7CisgICAgICAgICAobmV3IHNpc19lbmNvZGVyX2ltcGwoc2hvcnRfbmFtZSkpOwor ICAgICB9CisgCisrCisgICAgIC8qCisgICAgICAqIFRoZSBwcml2YXRlIGNvbnN0cnVjdG9yCisg ICAgICAqLworZGlmZiAtLWdpdCBhL2xpYi90ZXN0X25yc2M1LmNjIGIvbGliL3Rlc3RfbnJzYzUu Y2MKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggNTliZDU3Yy4uMDAwMDAwMAorLS0t IGxpYi90ZXN0X25yc2M1LmNjCisrKysgL2Rldi9udWxsCitAQCAtMSw0OCArMCwwIEBACistLyog LSotIGMrKyAtKi0gKi8KKy0vKgorLSAqIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorLSAqCistICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCist ICoKKy0gKiBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistICogdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorLSAqIGFu eSBsYXRlciB2ZXJzaW9uLgorLSAqCistICogR05VIFJhZGlvIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0gKgorLSAqIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCistICogYWxvbmcgd2l0aCBHTlUgUmFkaW87IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAg SWYgbm90LCB3cml0ZSB0bworLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s IDUxIEZyYW5rbGluIFN0cmVldCwKKy0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKy0g Ki8KKy0KKy0jaWZkZWYgSEFWRV9DT05GSUdfSAorLSNpbmNsdWRlICJjb25maWcuaCIKKy0jZW5k aWYKKy0KKy0jaW5jbHVkZSA8Y3BwdW5pdC9UZXh0VGVzdFJ1bm5lci5oPgorLSNpbmNsdWRlIDxj cHB1bml0L1htbE91dHB1dHRlci5oPgorLQorLSNpbmNsdWRlIDxnbnVyYWRpby91bml0dGVzdHMu aD4KKy0jaW5jbHVkZSAicWFfbnJzYzUuaCIKKy0jaW5jbHVkZSA8aW9zdHJlYW0+CistI2luY2x1 ZGUgPGZzdHJlYW0+CistCistaW50CistbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorLXsK Ky0gIENwcFVuaXQ6OlRleHRUZXN0UnVubmVyIHJ1bm5lcjsKKy0gIHN0ZDo6b2ZzdHJlYW0geG1s ZmlsZShnZXRfdW5pdHRlc3RfcGF0aCgibnJzYzUueG1sIikuY19zdHIoKSk7CistICBDcHBVbml0 OjpYbWxPdXRwdXR0ZXIgKnhtbG91dCA9IG5ldyBDcHBVbml0OjpYbWxPdXRwdXR0ZXIoJnJ1bm5l ci5yZXN1bHQoKSwgeG1sZmlsZSk7CistCistICBydW5uZXIuYWRkVGVzdChxYV9ucnNjNTo6c3Vp dGUoKSk7CistICBydW5uZXIuc2V0T3V0cHV0dGVyKHhtbG91dCk7CistCistICBib29sIHdhc19z dWNjZXNzZnVsID0gcnVubmVyLnJ1bigiIiwgZmFsc2UpOworLQorLSAgcmV0dXJuIHdhc19zdWNj ZXNzZnVsID8gMCA6IDE7CistfQorZGlmZiAtLWdpdCBhL3B5dGhvbi9DTWFrZUxpc3RzLnR4dCBi L3B5dGhvbi9DTWFrZUxpc3RzLnR4dAoraW5kZXggZDBiMTMzZS4uOWIyNTkxMyAxMDA2NDQKKy0t LSBweXRob24vQ01ha2VMaXN0cy50eHQKKysrKyBweXRob24vQ01ha2VMaXN0cy50eHQKK0BAIC0x LDYgKzEsNyBAQAorICMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisgIworLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIFJhZGlvCisrIyBUaGlzIGZpbGUg d2FzIGdlbmVyYXRlZCBieSBncl9tb2R0b29sLCBhIHRvb2wgZnJvbSB0aGUgR05VIFJhZGlvIGZy YW1ld29yaworKyMgVGhpcyBmaWxlIGlzIGEgcGFydCBvZiBnci1ucnNjNQorICMKKyAjIEdOVSBS YWRpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisgIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorQEAgLTQxLDggKzQyLDggQEAgaW5jbHVkZShHclRlc3QpCisg Cisgc2V0KEdSX1RFU1RfVEFSR0VUX0RFUFMgZ251cmFkaW8tbnJzYzUpCisgc2V0KEdSX1RFU1Rf UFlUSE9OX0RJUlMgJHtDTUFLRV9CSU5BUllfRElSfS9zd2lnKQorK0dSX0FERF9URVNUKHFhX2hk Y19lbmNvZGVyICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElS fS9xYV9oZGNfZW5jb2Rlci5weSkKKyBHUl9BRERfVEVTVChxYV9sMV9mbV9lbmNvZGVyICR7UFlU SE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9xYV9sMV9mbV9lbmNv ZGVyLnB5KQorLUdSX0FERF9URVNUKHFhX3Npc19lbmNvZGVyICR7UFlUSE9OX0VYRUNVVEFCTEV9 ICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9xYV9zaXNfZW5jb2Rlci5weSkKKyBHUl9BRERf VEVTVChxYV9sMl9lbmNvZGVyICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfQ1VSUkVOVF9T T1VSQ0VfRElSfS9xYV9sMl9lbmNvZGVyLnB5KQorLUdSX0FERF9URVNUKHFhX2hkY19lbmNvZGVy ICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9xYV9oZGNf ZW5jb2Rlci5weSkKKyBHUl9BRERfVEVTVChxYV9wc2RfZW5jb2RlciAke1BZVEhPTl9FWEVDVVRB QkxFfSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcWFfcHNkX2VuY29kZXIucHkpCisrR1Jf QUREX1RFU1QocWFfc2lzX2VuY29kZXIgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9DVVJS RU5UX1NPVVJDRV9ESVJ9L3FhX3Npc19lbmNvZGVyLnB5KQorZGlmZiAtLWdpdCBhL3B5dGhvbi9f X2luaXRfXy5weSBiL3B5dGhvbi9fX2luaXRfXy5weQoraW5kZXggZjE5MmEyZC4uNDc2ZmIwMCAx MDA2NDQKKy0tLSBweXRob24vX19pbml0X18ucHkKKysrKyBweXRob24vX19pbml0X18ucHkKK0BA IC0yMiwxMyArMjIsMTQgQEAKKyBUaGlzIGlzIHRoZSBHTlUgUmFkaW8gTlJTQzUgbW9kdWxlLiBQ bGFjZSB5b3VyIFB5dGhvbiBwYWNrYWdlCisgZGVzY3JpcHRpb24gaGVyZSAocHl0aG9uL19faW5p dF9fLnB5KS4KKyAnJycKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMK KyAKKyAjIGltcG9ydCBzd2lnIGdlbmVyYXRlZCBzeW1ib2xzIGludG8gdGhlIG5yc2M1IG5hbWVz cGFjZQorIHRyeToKKy0JIyB0aGlzIG1pZ2h0IGZhaWwgaWYgdGhlIG1vZHVsZSBpcyBweXRob24t b25seQorLQlmcm9tIG5yc2M1X3N3aWcgaW1wb3J0ICoKKysgICAgIyB0aGlzIG1pZ2h0IGZhaWwg aWYgdGhlIG1vZHVsZSBpcyBweXRob24tb25seQorKyAgICBmcm9tIC5ucnNjNV9zd2lnIGltcG9y dCAqCisgZXhjZXB0IEltcG9ydEVycm9yOgorLQlwYXNzCisrICAgIHBhc3MKKyAKKyAjIGltcG9y dCBhbnkgcHVyZSBweXRob24gaGVyZQorICMKK2RpZmYgLS1naXQgYS9weXRob24vYnVpbGRfdXRp bHMucHkgYi9weXRob24vYnVpbGRfdXRpbHMucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggY2Y1OGE5Ny4uMDAwMDAwMAorLS0tIHB5dGhvbi9idWlsZF91dGlscy5weQorKysrIC9k ZXYvbnVsbAorQEAgLTEsMjI2ICswLDAgQEAKKy0jCistIyBDb3B5cmlnaHQgMjAwNCwyMDA5LDIw MTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCistIworLSMgVGhpcyBmaWxlIGlzIHBh cnQgb2YgR05VIFJhZGlvCistIworLSMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBv cHRpb24pCistIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0jCistIyBHTlUgUmFkaW8gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSMK Ky0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCistIyBhbG9uZyB3aXRoIEdOVSBSYWRpbzsgc2VlIHRoZSBmaWxlIENPUFlJ TkcuICBJZiBub3QsIHdyaXRlIHRvCistIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsCistIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K Ky0jCistCistIiIiTWlzYyB1dGlsaXRpZXMgdXNlZCBhdCBidWlsZCB0aW1lCistIiIiCistCist aW1wb3J0IHJlLCBvcywgb3MucGF0aAorLWZyb20gYnVpbGRfdXRpbHNfY29kZXMgaW1wb3J0ICoK Ky0KKy0KKy0jIHNldCBzcmNkaXIgdG8gdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIE1ha2Vm aWxlLmFtCistdHJ5OgorLSAgICBzcmNkaXIgPSBvcy5lbnZpcm9uWydzcmNkaXInXQorLWV4Y2Vw dCBLZXlFcnJvciwgZToKKy0gICAgc3JjZGlyID0gIi4iCistc3JjZGlyID0gc3JjZGlyICsgJy8n CistCistIyBzZXQgZG9fbWFrZWZpbGUgdG8gZWl0aGVyIHRydWUgb3IgZmFsc2UgZGVwZW5kZWlu ZyBvbiB0aGUgZW52aXJvbm1lbnQKKy10cnk6CistICAgIGlmIG9zLmVudmlyb25bJ2RvX21ha2Vm aWxlJ10gPT0gJzAnOgorLSAgICAgICAgZG9fbWFrZWZpbGUgPSBGYWxzZQorLSAgICBlbHNlOgor LSAgICAgICAgZG9fbWFrZWZpbGUgPSBUcnVlCistZXhjZXB0IEtleUVycm9yLCBlOgorLSAgICBk b19tYWtlZmlsZSA9IEZhbHNlCistCistIyBzZXQgZG9fc291cmNlcyB0byBlaXRoZXIgdHJ1ZSBv ciBmYWxzZSBkZXBlbmRlaW5nIG9uIHRoZSBlbnZpcm9ubWVudAorLXRyeToKKy0gICAgaWYgb3Mu ZW52aXJvblsnZG9fc291cmNlcyddID09ICcwJzoKKy0gICAgICAgIGRvX3NvdXJjZXMgPSBGYWxz ZQorLSAgICBlbHNlOgorLSAgICAgICAgZG9fc291cmNlcyA9IFRydWUKKy1leGNlcHQgS2V5RXJy b3IsIGU6CistICAgIGRvX3NvdXJjZXMgPSBUcnVlCistCistbmFtZV9kaWN0ID0ge30KKy0KKy1k ZWYgbG9nX291dHB1dF9uYW1lIChuYW1lKToKKy0gICAgKGJhc2UsIGV4dCkgPSBvcy5wYXRoLnNw bGl0ZXh0IChuYW1lKQorLSAgICBleHQgPSBleHRbMTpdICAgICAgICAgICAgICAgICAgICAgICAj IGRyb3AgdGhlIGxlYWRpbmcgJy4nCistCistICAgIGVudHJ5ID0gbmFtZV9kaWN0LnNldGRlZmF1 bHQgKGV4dCwgW10pCistICAgIGVudHJ5LmFwcGVuZCAobmFtZSkKKy0KKy1kZWYgb3Blbl9hbmRf bG9nX25hbWUgKG5hbWUsIGRpcik6CistICAgIGdsb2JhbCBkb19zb3VyY2VzCistICAgIGlmIGRv X3NvdXJjZXM6CistICAgICAgICBmID0gb3BlbiAobmFtZSwgZGlyKQorLSAgICBlbHNlOgorLSAg ICAgICAgZiA9IE5vbmUKKy0gICAgbG9nX291dHB1dF9uYW1lIChuYW1lKQorLSAgICByZXR1cm4g ZgorLQorLWRlZiBleHBhbmRfdGVtcGxhdGUgKGQsIHRlbXBsYXRlX2ZpbGVuYW1lLCBleHRyYSA9 ICIiKToKKy0gICAgJycnR2l2ZW4gYSBkaWN0aW9uYXJ5IEQgYW5kIGEgVEVNUExBVEVfRklMRU5B TUUsIGV4cGFuZCB0ZW1wbGF0ZSBpbnRvIG91dHB1dCBmaWxlCistICAgICcnJworLSAgICBnbG9i YWwgZG9fc291cmNlcworLSAgICBvdXRwdXRfZXh0ZW5zaW9uID0gZXh0cmFjdF9leHRlbnNpb24g KHRlbXBsYXRlX2ZpbGVuYW1lKQorLSAgICB0ZW1wbGF0ZSA9IG9wZW5fc3JjICh0ZW1wbGF0ZV9m aWxlbmFtZSwgJ3InKQorLSAgICBvdXRwdXRfbmFtZSA9IGRbJ05BTUUnXSArIGV4dHJhICsgJy4n ICsgb3V0cHV0X2V4dGVuc2lvbgorLSAgICBsb2dfb3V0cHV0X25hbWUgKG91dHB1dF9uYW1lKQor LSAgICBpZiBkb19zb3VyY2VzOgorLSAgICAgICAgb3V0cHV0ID0gb3BlbiAob3V0cHV0X25hbWUs ICd3JykKKy0gICAgICAgIGRvX3N1YnN0aXR1dGlvbiAoZCwgdGVtcGxhdGUsIG91dHB1dCkKKy0g ICAgICAgIG91dHB1dC5jbG9zZSAoKQorLSAgICB0ZW1wbGF0ZS5jbG9zZSAoKQorLQorLWRlZiBv dXRwdXRfZ2x1ZSAoZGlybmFtZSk6CistICAgIG91dHB1dF9tYWtlZmlsZV9mcmFnbWVudCAoKQor LSAgICBvdXRwdXRfaWZpbGVfaW5jbHVkZSAoZGlybmFtZSkKKy0KKy1kZWYgb3V0cHV0X21ha2Vm aWxlX2ZyYWdtZW50ICgpOgorLSAgICBnbG9iYWwgZG9fbWFrZWZpbGUKKy0gICAgaWYgbm90IGRv X21ha2VmaWxlOgorLSAgICAgICAgcmV0dXJuCistIyBvdmVyd3JpdGUgdGhlIHNvdXJjZSwgd2hp Y2ggbXVzdCBiZSB3cml0YWJsZTsgdGhpcyBzaG91bGQgaGF2ZSBiZWVuCistIyBjaGVja2VkIGZv ciBiZWZvcmVoYW5kIGluIHRoZSB0b3AtbGV2ZWwgTWFrZWZpbGUuZ2VuLmdlbiAuCistICAgIGYg PSBvcGVuIChvcy5wYXRoLmpvaW4gKG9zLmVudmlyb24uZ2V0KCdnZW5kaXInLCBvcy5lbnZpcm9u LmdldCgnc3JjZGlyJywgJy4nKSksICdNYWtlZmlsZS5nZW4nKSwgJ3cnKQorLSAgICBmLndyaXRl ICgnI1xuIyBUaGlzIGZpbGUgaXMgbWFjaGluZSBnZW5lcmF0ZWQuICBBbGwgZWRpdHMgd2lsbCBi ZSBvdmVyd3JpdHRlblxuI1xuJykKKy0gICAgb3V0cHV0X3N1YmZyYWcgKGYsICdoJykKKy0gICAg b3V0cHV0X3N1YmZyYWcgKGYsICdpJykKKy0gICAgb3V0cHV0X3N1YmZyYWcgKGYsICdjYycpCist ICAgIGYuY2xvc2UgKCkKKy0KKy1kZWYgb3V0cHV0X2lmaWxlX2luY2x1ZGUgKGRpcm5hbWUpOgor LSAgICBnbG9iYWwgZG9fc291cmNlcworLSAgICBpZiBkb19zb3VyY2VzOgorLSAgICAgICAgZiA9 IG9wZW4gKCclc19nZW5lcmF0ZWQuaScgJSAoZGlybmFtZSwpLCAndycpCistICAgICAgICBmLndy aXRlICgnLy9cbi8vIFRoaXMgZmlsZSBpcyBtYWNoaW5lIGdlbmVyYXRlZC4gIEFsbCBlZGl0cyB3 aWxsIGJlIG92ZXJ3cml0dGVuXG4vL1xuJykKKy0gICAgICAgIGZpbGVzID0gbmFtZV9kaWN0LnNl dGRlZmF1bHQgKCdpJywgW10pCistICAgICAgICBmaWxlcy5zb3J0ICgpCistICAgICAgICBmLndy aXRlICgnJXtcbicpCistICAgICAgICBmb3IgZmlsZSBpbiBmaWxlczoKKy0gICAgICAgICAgICBm LndyaXRlICgnI2luY2x1ZGUgPCVzPlxuJyAlIChmaWxlWzA6LTFdICsgJ2gnLCkpCistICAgICAg ICBmLndyaXRlICgnJX1cblxuJykKKy0gICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgorLSAgICAg ICAgICAgIGYud3JpdGUgKCclJWluY2x1ZGUgPCVzPlxuJyAlIChmaWxlLCkpCistCistZGVmIG91 dHB1dF9zdWJmcmFnIChmLCBleHQpOgorLSAgICBmaWxlcyA9IG5hbWVfZGljdC5zZXRkZWZhdWx0 IChleHQsIFtdKQorLSAgICBmaWxlcy5zb3J0ICgpCistICAgIGYud3JpdGUgKCJHRU5FUkFURURf JXMgPSIgJSAoZXh0LnVwcGVyICgpKSkKKy0gICAgZm9yIGZpbGUgaW4gZmlsZXM6CistICAgICAg ICBmLndyaXRlICgiIFxcXG5cdCVzIiAlIChmaWxlLCkpCistICAgIGYud3JpdGUgKCJcblxuIikK Ky0KKy1kZWYgZXh0cmFjdF9leHRlbnNpb24gKHRlbXBsYXRlX25hbWUpOgorLSAgICAjIHRlbXBs YXRlIG5hbWUgaXMgc29tZXRoaW5nIGxpa2U6IEdyRklSZmlsdGVyWFhYLmgudAorLSAgICAjIHdl IHJldHVybiBldmVyeXRoaW5nIGJldHdlZW4gdGhlIHBlbnVsdGltYXRlIC4gYW5kIC50CistICAg IG1vID0gcmUuc2VhcmNoIChyJ1wuKFthLXpdKylcLnQkJywgdGVtcGxhdGVfbmFtZSkKKy0gICAg aWYgbm90IG1vOgorLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvciwgIkluY29ycmVjdGx5IGZvcm1l ZCB0ZW1wbGF0ZV9uYW1lICclcyciICUgKHRlbXBsYXRlX25hbWUsKQorLSAgICByZXR1cm4gbW8u Z3JvdXAgKDEpCistCistZGVmIG9wZW5fc3JjIChuYW1lLCBtb2RlKToKKy0gICAgZ2xvYmFsIHNy Y2RpcgorLSAgICByZXR1cm4gb3BlbiAob3MucGF0aC5qb2luIChzcmNkaXIsIG5hbWUpLCBtb2Rl KQorLQorLWRlZiBkb19zdWJzdGl0dXRpb24gKGQsIGluX2ZpbGUsIG91dF9maWxlKToKKy0gICAg ZGVmIHJlcGwgKG1hdGNoX29iaik6CistICAgICAgICBrZXkgPSBtYXRjaF9vYmouZ3JvdXAgKDEp CistICAgICAgICAjIHByaW50IGtleQorLSAgICAgICAgcmV0dXJuIGRba2V5XQorLQorLSAgICBp bnAgPSBpbl9maWxlLnJlYWQgKCkKKy0gICAgb3V0ID0gcmUuc3ViIChyIkAoW2EtekEtWjAtOV9d KylAIiwgcmVwbCwgaW5wKQorLSAgICBvdXRfZmlsZS53cml0ZSAob3V0KQorLQorLQorLQorLWNv cHlyaWdodCA9ICcnJy8qIC0qLSBjKysgLSotICovCistLyoKKy0gKiBDb3B5cmlnaHQgMjAwMywy MDA0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLSAqCistICogVGhpcyBmaWxlIGlz IHBhcnQgb2YgR05VIFJhZGlvCistICoKKy0gKiBHTlUgUmFkaW8gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSAqIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cist ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0 IHlvdXIgb3B0aW9uKQorLSAqIGFueSBsYXRlciB2ZXJzaW9uLgorLSAqCistICogR05VIFJhZGlv IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKy0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCistICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKy0gKgorLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistICogYWxvbmcgd2l0aCBHTlUgUmFkaW87IHNl ZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworLSAqIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwKKy0gKiBCb3N0b24sIE1B IDAyMTEwLTEzMDEsIFVTQS4KKy0gKi8KKy0nJycKKy0KKy1kZWYgaXNfY29tcGxleCAoY29kZTMp OgorLSAgICBpZiBpX2NvZGUgKGNvZGUzKSA9PSAnYycgb3Igb19jb2RlIChjb2RlMykgPT0gJ2Mn OgorLSAgICAgICAgcmV0dXJuICcxJworLSAgICBlbHNlOgorLSAgICAgICAgcmV0dXJuICcwJwor LQorLQorLWRlZiBzdGFuZGFyZF9kaWN0IChuYW1lLCBjb2RlMywgcGFja2FnZT0nZ3InKToKKy0g ICAgZCA9IHt9CistICAgIGRbJ05BTUUnXSA9IG5hbWUKKy0gICAgZFsnTkFNRV9JTVBMJ10gPSBu YW1lKydfaW1wbCcKKy0gICAgZFsnR1VBUkRfTkFNRSddID0gJ0lOQ0xVREVEXyVzXyVzX0gnICUg KHBhY2thZ2UudXBwZXIoKSwgbmFtZS51cHBlcigpKQorLSAgICBkWydHVUFSRF9OQU1FX0lNUEwn XSA9ICdJTkNMVURFRF8lc18lc19JTVBMX0gnICUgKHBhY2thZ2UudXBwZXIoKSwgbmFtZS51cHBl cigpKQorLSAgICBkWydCQVNFX05BTUUnXSA9IHJlLnN1YiAoJ14nICsgcGFja2FnZSArICdfJywg JycsIG5hbWUpCistICAgIGRbJ1NQVFJfTkFNRSddID0gJyVzX3NwdHInICUgbmFtZQorLSAgICBk WydXQVJOSU5HJ10gPSAnV0FSTklORzogdGhpcyBmaWxlIGlzIG1hY2hpbmUgZ2VuZXJhdGVkLiBF ZGl0cyB3aWxsIGJlIG92ZXJ3cml0dGVuJworLSAgICBkWydDT1BZUklHSFQnXSA9IGNvcHlyaWdo dAorLSAgICBkWydUWVBFJ10gPSBpX3R5cGUgKGNvZGUzKQorLSAgICBkWydJX1RZUEUnXSA9IGlf dHlwZSAoY29kZTMpCistICAgIGRbJ09fVFlQRSddID0gb190eXBlIChjb2RlMykKKy0gICAgZFsn VEFQX1RZUEUnXSA9IHRhcF90eXBlIChjb2RlMykKKy0gICAgZFsnSVNfQ09NUExFWCddID0gaXNf Y29tcGxleCAoY29kZTMpCistICAgIHJldHVybiBkCistCistCistZGVmIHN0YW5kYXJkX2RpY3Qy IChuYW1lLCBjb2RlMywgcGFja2FnZSk6CistICAgIGQgPSB7fQorLSAgICBkWydOQU1FJ10gPSBu YW1lCistICAgIGRbJ0JBU0VfTkFNRSddID0gbmFtZQorLSAgICBkWydHVUFSRF9OQU1FJ10gPSAn SU5DTFVERURfJXNfJXNfSCcgJSAocGFja2FnZS51cHBlcigpLCBuYW1lLnVwcGVyKCkpCistICAg IGRbJ1dBUk5JTkcnXSA9ICdXQVJOSU5HOiB0aGlzIGZpbGUgaXMgbWFjaGluZSBnZW5lcmF0ZWQu IEVkaXRzIHdpbGwgYmUgb3ZlcndyaXR0ZW4nCistICAgIGRbJ0NPUFlSSUdIVCddID0gY29weXJp Z2h0CistICAgIGRbJ1RZUEUnXSA9IGlfdHlwZSAoY29kZTMpCistICAgIGRbJ0lfVFlQRSddID0g aV90eXBlIChjb2RlMykKKy0gICAgZFsnT19UWVBFJ10gPSBvX3R5cGUgKGNvZGUzKQorLSAgICBk WydUQVBfVFlQRSddID0gdGFwX3R5cGUgKGNvZGUzKQorLSAgICBkWydJU19DT01QTEVYJ10gPSBp c19jb21wbGV4IChjb2RlMykKKy0gICAgcmV0dXJuIGQKKy0KKy1kZWYgc3RhbmRhcmRfaW1wbF9k aWN0MiAobmFtZSwgY29kZTMsIHBhY2thZ2UpOgorLSAgICBkID0ge30KKy0gICAgZFsnTkFNRSdd ID0gbmFtZQorLSAgICBkWydJTVBMX05BTUUnXSA9IG5hbWUKKy0gICAgZFsnQkFTRV9OQU1FJ10g PSBuYW1lLnJzdHJpcCgiaW1wbCIpLnJzdHJpcCgiXyIpCistICAgIGRbJ0dVQVJEX05BTUUnXSA9 ICdJTkNMVURFRF8lc18lc19IJyAlIChwYWNrYWdlLnVwcGVyKCksIG5hbWUudXBwZXIoKSkKKy0g ICAgZFsnV0FSTklORyddID0gJ1dBUk5JTkc6IHRoaXMgZmlsZSBpcyBtYWNoaW5lIGdlbmVyYXRl ZC4gRWRpdHMgd2lsbCBiZSBvdmVyd3JpdHRlbicKKy0gICAgZFsnQ09QWVJJR0hUJ10gPSBjb3B5 cmlnaHQKKy0gICAgZFsnRklSX1RZUEUnXSA9ICJmaXJfZmlsdGVyXyIgKyBjb2RlMworLSAgICBk WydDRklSX1RZUEUnXSA9ICJmaXJfZmlsdGVyXyIgKyBjb2RlM1swOjJdICsgJ2MnCistICAgIGRb J1RZUEUnXSA9IGlfdHlwZSAoY29kZTMpCistICAgIGRbJ0lfVFlQRSddID0gaV90eXBlIChjb2Rl MykKKy0gICAgZFsnT19UWVBFJ10gPSBvX3R5cGUgKGNvZGUzKQorLSAgICBkWydUQVBfVFlQRSdd ID0gdGFwX3R5cGUgKGNvZGUzKQorLSAgICBkWydJU19DT01QTEVYJ10gPSBpc19jb21wbGV4IChj b2RlMykKKy0gICAgcmV0dXJuIGQKK2RpZmYgLS1naXQgYS9weXRob24vcWFfaGRjX2VuY29kZXIu cHkgYi9weXRob24vcWFfaGRjX2VuY29kZXIucHkKK2luZGV4IGI1N2Q4NDEuLjcyNjZhYTkgMTAw NzU1CistLS0gcHl0aG9uL3FhX2hkY19lbmNvZGVyLnB5CisrKysgcHl0aG9uL3FhX2hkY19lbmNv ZGVyLnB5CitAQCAtMjMsMTkgKzIzLDE5IEBACisgZnJvbSBnbnVyYWRpbyBpbXBvcnQgYmxvY2tz CisgaW1wb3J0IG5yc2M1X3N3aWcgYXMgbnJzYzUKKyAKKy1jbGFzcyBxYV9oZGNfZW5jb2RlciAo Z3JfdW5pdHRlc3QuVGVzdENhc2UpOgorK2NsYXNzIHFhX2hkY19lbmNvZGVyKGdyX3VuaXR0ZXN0 LlRlc3RDYXNlKToKKyAKKy0gICAgZGVmIHNldFVwIChzZWxmKToKKy0gICAgICAgIHNlbGYudGIg PSBnci50b3BfYmxvY2sgKCkKKysgICAgZGVmIHNldFVwKHNlbGYpOgorKyAgICAgICAgc2VsZi50 YiA9IGdyLnRvcF9ibG9jaygpCisgCistICAgIGRlZiB0ZWFyRG93biAoc2VsZik6CisrICAgIGRl ZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIHNlbGYudGIgPSBOb25lCisgCistICAgIGRlZiB0 ZXN0XzAwMV90IChzZWxmKToKKysgICAgZGVmIHRlc3RfMDAxX3Qoc2VsZik6CisgICAgICAgICAj IHNldCB1cCBmZworLSAgICAgICAgc2VsZi50Yi5ydW4gKCkKKysgICAgICAgIHNlbGYudGIucnVu KCkKKyAgICAgICAgICMgY2hlY2sgZGF0YQorIAorIAorIGlmIF9fbmFtZV9fID09ICdfX21haW5f Xyc6CistICAgIGdyX3VuaXR0ZXN0LnJ1bihxYV9oZGNfZW5jb2RlciwgInFhX2hkY19lbmNvZGVy LnhtbCIpCisrICAgIGdyX3VuaXR0ZXN0LnJ1bihxYV9oZGNfZW5jb2RlcikKK2RpZmYgLS1naXQg YS9weXRob24vcWFfbDFfZm1fZW5jb2Rlci5weSBiL3B5dGhvbi9xYV9sMV9mbV9lbmNvZGVyLnB5 CitpbmRleCA5YjIyZTBlLi4zZWJkNzYxIDEwMDc1NQorLS0tIHB5dGhvbi9xYV9sMV9mbV9lbmNv ZGVyLnB5CisrKysgcHl0aG9uL3FhX2wxX2ZtX2VuY29kZXIucHkKK0BAIC0yMywxOSArMjMsMTkg QEAKKyBmcm9tIGdudXJhZGlvIGltcG9ydCBibG9ja3MKKyBpbXBvcnQgbnJzYzVfc3dpZyBhcyBu cnNjNQorIAorLWNsYXNzIHFhX2wxX2ZtX2VuY29kZXIgKGdyX3VuaXR0ZXN0LlRlc3RDYXNlKToK KytjbGFzcyBxYV9sMV9mbV9lbmNvZGVyKGdyX3VuaXR0ZXN0LlRlc3RDYXNlKToKKyAKKy0gICAg ZGVmIHNldFVwIChzZWxmKToKKy0gICAgICAgIHNlbGYudGIgPSBnci50b3BfYmxvY2sgKCkKKysg ICAgZGVmIHNldFVwKHNlbGYpOgorKyAgICAgICAgc2VsZi50YiA9IGdyLnRvcF9ibG9jaygpCisg CistICAgIGRlZiB0ZWFyRG93biAoc2VsZik6CisrICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAg ICAgICAgIHNlbGYudGIgPSBOb25lCisgCistICAgIGRlZiB0ZXN0XzAwMV90IChzZWxmKToKKysg ICAgZGVmIHRlc3RfMDAxX3Qoc2VsZik6CisgICAgICAgICAjIHNldCB1cCBmZworLSAgICAgICAg c2VsZi50Yi5ydW4gKCkKKysgICAgICAgIHNlbGYudGIucnVuKCkKKyAgICAgICAgICMgY2hlY2sg ZGF0YQorIAorIAorIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CistICAgIGdyX3VuaXR0ZXN0 LnJ1bihxYV9sMV9mbV9lbmNvZGVyLCAicWFfbDFfZm1fZW5jb2Rlci54bWwiKQorKyAgICBncl91 bml0dGVzdC5ydW4ocWFfbDFfZm1fZW5jb2RlcikKK2RpZmYgLS1naXQgYS9weXRob24vcWFfbDJf ZW5jb2Rlci5weSBiL3B5dGhvbi9xYV9sMl9lbmNvZGVyLnB5CitpbmRleCBjYjcxZjI3Li5jYjQ4 YmQyIDEwMDc1NQorLS0tIHB5dGhvbi9xYV9sMl9lbmNvZGVyLnB5CisrKysgcHl0aG9uL3FhX2wy X2VuY29kZXIucHkKK0BAIC0yMywxOSArMjMsMTkgQEAKKyBmcm9tIGdudXJhZGlvIGltcG9ydCBi bG9ja3MKKyBpbXBvcnQgbnJzYzVfc3dpZyBhcyBucnNjNQorIAorLWNsYXNzIHFhX2wyX2VuY29k ZXIgKGdyX3VuaXR0ZXN0LlRlc3RDYXNlKToKKytjbGFzcyBxYV9sMl9lbmNvZGVyKGdyX3VuaXR0 ZXN0LlRlc3RDYXNlKToKKyAKKy0gICAgZGVmIHNldFVwIChzZWxmKToKKy0gICAgICAgIHNlbGYu dGIgPSBnci50b3BfYmxvY2sgKCkKKysgICAgZGVmIHNldFVwKHNlbGYpOgorKyAgICAgICAgc2Vs Zi50YiA9IGdyLnRvcF9ibG9jaygpCisgCistICAgIGRlZiB0ZWFyRG93biAoc2VsZik6CisrICAg IGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIHNlbGYudGIgPSBOb25lCisgCistICAgIGRl ZiB0ZXN0XzAwMV90IChzZWxmKToKKysgICAgZGVmIHRlc3RfMDAxX3Qoc2VsZik6CisgICAgICAg ICAjIHNldCB1cCBmZworLSAgICAgICAgc2VsZi50Yi5ydW4gKCkKKysgICAgICAgIHNlbGYudGIu cnVuKCkKKyAgICAgICAgICMgY2hlY2sgZGF0YQorIAorIAorIGlmIF9fbmFtZV9fID09ICdfX21h aW5fXyc6CistICAgIGdyX3VuaXR0ZXN0LnJ1bihxYV9sMl9lbmNvZGVyLCAicWFfbDJfZW5jb2Rl ci54bWwiKQorKyAgICBncl91bml0dGVzdC5ydW4ocWFfbDJfZW5jb2RlcikKK2RpZmYgLS1naXQg YS9weXRob24vcWFfcHNkX2VuY29kZXIucHkgYi9weXRob24vcWFfcHNkX2VuY29kZXIucHkKK2lu ZGV4IGEyNzRhOWMuLjk0NDI0MGQgMTAwNzU1CistLS0gcHl0aG9uL3FhX3BzZF9lbmNvZGVyLnB5 CisrKysgcHl0aG9uL3FhX3BzZF9lbmNvZGVyLnB5CitAQCAtMjMsMTkgKzIzLDE5IEBACisgZnJv bSBnbnVyYWRpbyBpbXBvcnQgYmxvY2tzCisgaW1wb3J0IG5yc2M1X3N3aWcgYXMgbnJzYzUKKyAK Ky1jbGFzcyBxYV9wc2RfZW5jb2RlciAoZ3JfdW5pdHRlc3QuVGVzdENhc2UpOgorK2NsYXNzIHFh X3BzZF9lbmNvZGVyKGdyX3VuaXR0ZXN0LlRlc3RDYXNlKToKKyAKKy0gICAgZGVmIHNldFVwIChz ZWxmKToKKy0gICAgICAgIHNlbGYudGIgPSBnci50b3BfYmxvY2sgKCkKKysgICAgZGVmIHNldFVw KHNlbGYpOgorKyAgICAgICAgc2VsZi50YiA9IGdyLnRvcF9ibG9jaygpCisgCistICAgIGRlZiB0 ZWFyRG93biAoc2VsZik6CisrICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIHNlbGYu dGIgPSBOb25lCisgCistICAgIGRlZiB0ZXN0XzAwMV90IChzZWxmKToKKysgICAgZGVmIHRlc3Rf MDAxX3Qoc2VsZik6CisgICAgICAgICAjIHNldCB1cCBmZworLSAgICAgICAgc2VsZi50Yi5ydW4g KCkKKysgICAgICAgIHNlbGYudGIucnVuKCkKKyAgICAgICAgICMgY2hlY2sgZGF0YQorIAorIAor IGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CistICAgIGdyX3VuaXR0ZXN0LnJ1bihxYV9wc2Rf ZW5jb2RlciwgInFhX3BzZF9lbmNvZGVyLnhtbCIpCisrICAgIGdyX3VuaXR0ZXN0LnJ1bihxYV9w c2RfZW5jb2RlcikKK2RpZmYgLS1naXQgYS9weXRob24vcWFfc2lzX2VuY29kZXIucHkgYi9weXRo b24vcWFfc2lzX2VuY29kZXIucHkKK2luZGV4IDk2YTgzY2QuLjQ4NWFiNjggMTAwNzU1CistLS0g cHl0aG9uL3FhX3Npc19lbmNvZGVyLnB5CisrKysgcHl0aG9uL3FhX3Npc19lbmNvZGVyLnB5CitA QCAtMjMsMTkgKzIzLDE5IEBACisgZnJvbSBnbnVyYWRpbyBpbXBvcnQgYmxvY2tzCisgaW1wb3J0 IG5yc2M1X3N3aWcgYXMgbnJzYzUKKyAKKy1jbGFzcyBxYV9zaXNfZW5jb2RlciAoZ3JfdW5pdHRl c3QuVGVzdENhc2UpOgorK2NsYXNzIHFhX3Npc19lbmNvZGVyKGdyX3VuaXR0ZXN0LlRlc3RDYXNl KToKKyAKKy0gICAgZGVmIHNldFVwIChzZWxmKToKKy0gICAgICAgIHNlbGYudGIgPSBnci50b3Bf YmxvY2sgKCkKKysgICAgZGVmIHNldFVwKHNlbGYpOgorKyAgICAgICAgc2VsZi50YiA9IGdyLnRv cF9ibG9jaygpCisgCistICAgIGRlZiB0ZWFyRG93biAoc2VsZik6CisrICAgIGRlZiB0ZWFyRG93 bihzZWxmKToKKyAgICAgICAgIHNlbGYudGIgPSBOb25lCisgCistICAgIGRlZiB0ZXN0XzAwMV90 IChzZWxmKToKKysgICAgZGVmIHRlc3RfMDAxX3Qoc2VsZik6CisgICAgICAgICAjIHNldCB1cCBm ZworLSAgICAgICAgc2VsZi50Yi5ydW4gKCkKKysgICAgICAgIHNlbGYudGIucnVuKCkKKyAgICAg ICAgICMgY2hlY2sgZGF0YQorIAorIAorIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CistICAg IGdyX3VuaXR0ZXN0LnJ1bihxYV9zaXNfZW5jb2RlciwgInFhX3Npc19lbmNvZGVyLnhtbCIpCisr ICAgIGdyX3VuaXR0ZXN0LnJ1bihxYV9zaXNfZW5jb2RlcikKK2RpZmYgLS1naXQgYS9zd2lnL0NN YWtlTGlzdHMudHh0IGIvc3dpZy9DTWFrZUxpc3RzLnR4dAoraW5kZXggMDY3NDdjNS4uMzUxYWE5 YiAxMDA2NDQKKy0tLSBzd2lnL0NNYWtlTGlzdHMudHh0CisrKysgc3dpZy9DTWFrZUxpc3RzLnR4 dAorQEAgLTEsNiArMSw3IEBACisgIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKyAjCistIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgUmFkaW8KKysjIFRo aXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGdyX21vZHRvb2wsIGEgdG9vbCBmcm9tIHRoZSBHTlUg UmFkaW8gZnJhbWV3b3JrCisrIyBUaGlzIGZpbGUgaXMgYSBwYXJ0IG9mIGdyLW5yc2M1CisgIwor ICMgR05VIFJhZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtMjEsMTUgKzIyLDE1IEBACisgIyBDaGVj ayBpZiB0aGVyZSBpcyBDKysgY29kZSBhdCBhbGwKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyBpZihOT1Qg bnJzYzVfc291cmNlcykKKy0JTUVTU0FHRShTVEFUVVMgIk5vIEMrKyBzb3VyY2VzLi4uIHNraXBw aW5nIHN3aWcvIikKKy0JcmV0dXJuKCkKKysgICAgTUVTU0FHRShTVEFUVVMgIk5vIEMrKyBzb3Vy Y2VzLi4uIHNraXBwaW5nIHN3aWcvIikKKysgICAgcmV0dXJuKCkKKyBlbmRpZihOT1QgbnJzYzVf c291cmNlcykKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIEluY2x1ZGUgc3dpZyBnZW5lcmF0aW9u IG1hY3JvcworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIGZpbmRfcGFja2FnZShTV0lHKQorLWZpbmRfcGFj a2FnZShQeXRob25MaWJzIDIpCisrZmluZF9wYWNrYWdlKFB5dGhvbkxpYnMpCisgaWYoTk9UIFNX SUdfRk9VTkQgT1IgTk9UIFBZVEhPTkxJQlNfRk9VTkQpCisgICAgIHJldHVybigpCisgZW5kaWYo KQorQEAgLTM5LDExICs0MCwxMSBAQCBpbmNsdWRlKEdyUHl0aG9uKQorICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworICMgU2V0dXAgc3dpZyBnZW5lcmF0aW9uCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistZm9yZWFjaChp bmNkaXIgJHtHTlVSQURJT19SVU5USU1FX0lOQ0xVREVfRElSU30pCistICAgIGxpc3QoQVBQRU5E IEdSX1NXSUdfSU5DTFVERV9ESVJTICR7aW5jZGlyfS9nbnVyYWRpby9zd2lnKQorLWVuZGZvcmVh Y2goaW5jZGlyKQorK3NldChHUl9TV0lHX0lOQ0xVREVfRElSUyAkPFRBUkdFVF9QUk9QRVJUWTpn bnVyYWRpbzo6cnVudGltZV9zd2lnLElOVEVSRkFDRV9JTkNMVURFX0RJUkVDVE9SSUVTPikKKytz ZXQoR1JfU1dJR19UQVJHRVRfREVQUyBnbnVyYWRpbzo6cnVudGltZV9zd2lnKQorIAorIHNldChH Ul9TV0lHX0xJQlJBUklFUyBnbnVyYWRpby1ucnNjNSkKKysKKyBzZXQoR1JfU1dJR19ET0NfRklM RSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbnJzYzVfc3dpZ19kb2MuaSkKKyBzZXQoR1Jf U1dJR19ET0NfRElSUyAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vaW5jbHVkZSkKKyAK K2RpZmYgLS1naXQgYS9zd2lnL25yc2M1X3N3aWcuaSBiL3N3aWcvbnJzYzVfc3dpZy5pCitpbmRl eCA5OTg0MWEzLi40Yjc1YjYyIDEwMDY0NAorLS0tIHN3aWcvbnJzYzVfc3dpZy5pCisrKysgc3dp Zy9ucnNjNV9zd2lnLmkKK0BAIC0yLDI3ICsyLDI2IEBACisgCisgI2RlZmluZSBOUlNDNV9BUEkK KyAKKy0laW5jbHVkZSAiZ251cmFkaW8uaSIJCQkvLyB0aGUgY29tbW9uIHN0dWZmCisrJWluY2x1 ZGUgImdudXJhZGlvLmkiICAgICAgICAgICAvLyB0aGUgY29tbW9uIHN0dWZmCisgCisgLy9sb2Fk IGdlbmVyYXRlZCBweXRob24gZG9jc3RyaW5ncworICVpbmNsdWRlICJucnNjNV9zd2lnX2RvYy5p IgorIAorICV7CisrI2luY2x1ZGUgIm5yc2M1L2hkY19lbmNvZGVyLmgiCisgI2luY2x1ZGUgIm5y c2M1L2wxX2ZtX2VuY29kZXIuaCIKKy0jaW5jbHVkZSAibnJzYzUvc2lzX2VuY29kZXIuaCIKKyAj aW5jbHVkZSAibnJzYzUvbDJfZW5jb2Rlci5oIgorLSNpbmNsdWRlICJucnNjNS9oZGNfZW5jb2Rl ci5oIgorICNpbmNsdWRlICJucnNjNS9wc2RfZW5jb2Rlci5oIgorKyNpbmNsdWRlICJucnNjNS9z aXNfZW5jb2Rlci5oIgorICV9CisgCistCisrJWluY2x1ZGUgIm5yc2M1L2hkY19lbmNvZGVyLmgi CisrR1JfU1dJR19CTE9DS19NQUdJQzIobnJzYzUsIGhkY19lbmNvZGVyKTsKKyAlaW5jbHVkZSAi bnJzYzUvbDFfZm1fZW5jb2Rlci5oIgorIEdSX1NXSUdfQkxPQ0tfTUFHSUMyKG5yc2M1LCBsMV9m bV9lbmNvZGVyKTsKKy0laW5jbHVkZSAibnJzYzUvc2lzX2VuY29kZXIuaCIKKy1HUl9TV0lHX0JM T0NLX01BR0lDMihucnNjNSwgc2lzX2VuY29kZXIpOworICVpbmNsdWRlICJucnNjNS9sMl9lbmNv ZGVyLmgiCisgR1JfU1dJR19CTE9DS19NQUdJQzIobnJzYzUsIGwyX2VuY29kZXIpOworLSVpbmNs dWRlICJucnNjNS9oZGNfZW5jb2Rlci5oIgorLUdSX1NXSUdfQkxPQ0tfTUFHSUMyKG5yc2M1LCBo ZGNfZW5jb2Rlcik7CisgJWluY2x1ZGUgIm5yc2M1L3BzZF9lbmNvZGVyLmgiCisgR1JfU1dJR19C TE9DS19NQUdJQzIobnJzYzUsIHBzZF9lbmNvZGVyKTsKKyslaW5jbHVkZSAibnJzYzUvc2lzX2Vu Y29kZXIuaCIKKytHUl9TV0lHX0JMT0NLX01BR0lDMihucnNjNSwgc2lzX2VuY29kZXIpOwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9nbnVyYWRpby1ucnNjNS90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ251cmFk aW8tbnJzYzUvdGVtcGxhdGUKaW5kZXggODhjYTU2MjcyZDYuLjc4NzBkMDI5Y2Y3IDEwMDY0NAot LS0gYS9zcmNwa2dzL2dudXJhZGlvLW5yc2M1L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ251cmFk aW8tbnJzYzUvdGVtcGxhdGUKQEAgLTEsMTEgKzEsMTIgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J2dudXJhZGlvLW5yc2M1JwogcGtnbmFtZT1nbnVyYWRpby1ucnNjNQogdmVyc2lvbj0xLjAuMAot cmV2aXNpb249MgorcmV2aXNpb249Mwogd3Jrc3JjPSJnci1ucnNjNS0ke3ZlcnNpb259IgogYnVp bGRfc3R5bGU9Y21ha2UKLWhvc3RtYWtlZGVwZW5kcz0iZ2l0IGF1dG9jb25mIGF1dG9tYWtlIGxp YnRvb2wgc3dpZyIKLW1ha2VkZXBlbmRzPSJnbnVyYWRpby1kZXZlbCBib29zdC1kZXZlbCBsaWJj cHB1bml0LWRldmVsIHB5dGhvbi1kZXZlbCIKK2hvc3RtYWtlZGVwZW5kcz0iZ2l0IGF1dG9jb25m IGF1dG9tYWtlIGxpYnRvb2wgc3dpZyBwa2ctY29uZmlnIgorbWFrZWRlcGVuZHM9ImdudXJhZGlv LWRldmVsIGJvb3N0LWRldmVsIGxpYmNwcHVuaXQtZGV2ZWwgcHl0aG9uMy1kZXZlbAorIGxvZzRj cHAtZGV2ZWwgbXBpci1kZXZlbCBnc2wtZGV2ZWwgdm9say1kZXZlbCIKIHNob3J0X2Rlc2M9IkdO VSBSYWRpbyBpbXBsZW1lbnRhdGlvbiBvZiBIRCBSYWRpbyIKIG1haW50YWluZXI9IlJlbWkgUG9t bWFyZWwgPHJlcGtAdHJpcGxlZmF1Lmx0PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCgpG cm9tIDUyODg5OTM4OTE3YmZlZjE4ZTkyMTNlOGJmOGY5NmNhNzNlNmFiNTUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IGJyYTFud2F2ZSA8YnJhMW53YXZlQHByb3Rvbm1haWwuY29tPgpE YXRlOiBTdW4sIDIgRmViIDIwMjAgMTA6MjM6MTMgKzAxMDAKU3ViamVjdDogW1BBVENIIDA5LzEw XSB1cmg6IHJlYnVpbGQgYWdhaW5zdCB1aGQtMy4xNS4wLjBfMQoKLS0tCiBzcmNwa2dzL3VyaC90 ZW1wbGF0ZSB8IDMgKy0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy91cmgvdGVtcGxhdGUgYi9zcmNwa2dzL3VyaC90 ZW1wbGF0ZQppbmRleCA2NWE2YTFhMWJhZS4uZGRlYzg5NzM0YmQgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvdXJoL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdXJoL3RlbXBsYXRlCkBAIC0xLDkgKzEsOCBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndXJoJwogcGtnbmFtZT11cmgKIHZlcnNpb249Mi44LjIK LXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCi1weWNv bXBpbGVfbW9kdWxlPSJ1cmgiCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29scyBw eXRob24zLUN5dGhvbiIKIG1ha2VkZXBlbmRzPSJweXRob24zLWRldmVsIHB5dGhvbjMtUHlRdDUg bGlib21wLWRldmVsIGxpYmFpcnNweS1kZXZlbCBsaWJydGxzZHItZGV2ZWwKICBsaWJoYWNrcmYt ZGV2ZWwgdWhkLWRldmVsIGxpYmdvbXAtZGV2ZWwiCgpGcm9tIDZmMzg0MTJiNjhiYzBlYjA2ODQ1 YzBjZTY3OWJmY2MwNWNkNTBiMjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGJyYTFu d2F2ZSA8YnJhMW53YXZlQHByb3Rvbm1haWwuY29tPgpEYXRlOiBTdW4sIDIgRmViIDIwMjAgMTA6 Mjc6NDIgKzAxMDAKU3ViamVjdDogW1BBVENIIDEwLzEwXSBTb2FweVVIRDogcmVidWlsZCBhZ2Fp bnN0IHVoZC0zLjE1LjAuMF8xCgotLS0KIHNyY3BrZ3MvU29hcHlVSEQvdGVtcGxhdGUgfCA0ICsr LS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9Tb2FweVVIRC90ZW1wbGF0ZSBiL3NyY3BrZ3MvU29hcHlVSEQvdGVt cGxhdGUKaW5kZXggMTY3NTljYTM2NDIuLmMwZGJjMGFkOTA1IDEwMDY0NAotLS0gYS9zcmNwa2dz L1NvYXB5VUhEL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvU29hcHlVSEQvdGVtcGxhdGUKQEAgLTEs MTMgKzEsMTMgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ1NvYXB5VUhEJwogcGtnbmFtZT1Tb2Fw eVVIRAogdmVyc2lvbj0wLjMuNgotcmV2aXNpb249MQorcmV2aXNpb249Mgogd3Jrc3JjPSIke3Br Z25hbWV9LXNvYXB5LXVoZC0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtl ZGVwZW5kcz0icGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRzPSJTb2FweVNEUi1kZXZlbCB1aGQtZGV2 ZWwiCiBzaG9ydF9kZXNjPSJTb2FweVNEUiBtb2R1bGUgZm9yIEV0dHVzIFVIRCIKLW1haW50YWlu ZXI9ImJyYTFud2F2ZSA8YnJhaW53YXZlQG9wZW5tYWlsYm94Lm9yZz4iCittYWludGFpbmVyPSJi cmExbndhdmUgPGJyYTFud2F2ZUBwcm90b25tYWlsLmNvbT4iCiBsaWNlbnNlPSJHUEwtMy4wLW9y LWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9wb3Rob3N3YXJlL1NvYXB5VUhE IgogZGlzdGZpbGVzPSIke2hvbWVwYWdlfS9hcmNoaXZlL3NvYXB5LXVoZC0ke3ZlcnNpb259LnRh ci5neiIK --===============6353754030538553387==--