[mono/monodevelop] d22ccbef: Add support for local-copying package references
| Newsgroups | gmane.comp.gnome.mono.patches |
|---|---|
| Message-ID | <0000014286076a4e-0977780d-4432-46fe-9855-603516cc8b39-000000@email.amazonses.com> |
DQogICBCcmFuY2g6IHJlZnMvaGVhZHMvbWFzdGVyDQogICAgIEhvbWU6IGh0dHBzOi8vZ2l0aHVi LmNvbS9tb25vL21vbm9kZXZlbG9wDQogIENvbXBhcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9tb25v L21vbm9kZXZlbG9wL2NvbXBhcmUvODBiYjhiZDBkYTU2Li4uZDIyY2NiZWYxZGIwDQoNCiAgIENv bW1pdDogZDIyY2NiZWYxZGIwMDdhZGUwZjIwYjE2MzUwOTcwZGRhZDkzMzdjZQ0KICAgQXV0aG9y OiBMbHVpcyBTYW5jaGV6IDxsbHVpc0B4YW1hcmluLmNvbT4gKHNsbHVpcykNCiAgICAgRGF0ZTog MjAxMy0xMS0yMyAxNzozMjo1NyBHTVQNCiAgICAgIFVSTDogaHR0cHM6Ly9naXRodWIuY29tL21v bm8vbW9ub2RldmVsb3AvY29tbWl0L2QyMmNjYmVmMWRiMDA3YWRlMGYyMGIxNjM1MDk3MGRkYWQ5 MzM3Y2UNCg0KQWRkIHN1cHBvcnQgZm9yIGxvY2FsLWNvcHlpbmcgcGFja2FnZSByZWZlcmVuY2Vz CgpXaGVuIG5vdCBleHBsaWNpdGx5IHNldCwgdGhlIGRlZmF1bHQgdmFsdWUgb2YgTG9jYWxDb3B5 IGRlcGVuZHMgb24gdGhlIHR5cGUKb2YgcmVmZXJlbmNlLiBGb3IgcHJvamVjdCBhbmQgZmlsZSBy ZWZlcmVuY2VzIHRoZSBkZWZhdWx0IGlzIHRydWUuIEZvcgpmcmFtZXdvcmsgYW5kIHBhY2thZ2Ug YXNzZW1ibGllcyAoaW5jbHVkaW5nIEdBQykgdGhlIGRlZmF1bHQgaXMgZmFsc2UuDQoNCkNoYW5n ZWQgcGF0aHM6CiAgTSBtYWluL3NyYy9jb3JlL01vbm9EZXZlbG9wLkNvcmUvTW9ub0RldmVsb3Au UHJvamVjdHMuRm9ybWF0cy5NU0J1aWxkL01TQnVpbGRQcm9qZWN0LmNzCiAgTSBtYWluL3NyYy9j b3JlL01vbm9EZXZlbG9wLkNvcmUvTW9ub0RldmVsb3AuUHJvamVjdHMuRm9ybWF0cy5NU0J1aWxk L01TQnVpbGRQcm9qZWN0SGFuZGxlci5jcwogIE0gbWFpbi9zcmMvY29yZS9Nb25vRGV2ZWxvcC5D b3JlL01vbm9EZXZlbG9wLlByb2plY3RzL0RvdE5ldFByb2plY3QuY3MKICBNIG1haW4vc3JjL2Nv cmUvTW9ub0RldmVsb3AuQ29yZS9Nb25vRGV2ZWxvcC5Qcm9qZWN0cy9Qcm9qZWN0UmVmZXJlbmNl LmNzCiAgTSBtYWluL3NyYy9jb3JlL01vbm9EZXZlbG9wLkNvcmUvTW9ub0RldmVsb3AuUHJvamVj dHMvU29sdXRpb25JdGVtLmNzCiAgTSBtYWluL3Rlc3RzL1VuaXRUZXN0cy9Nb25vRGV2ZWxvcC5Q cm9qZWN0cy9Mb2NhbENvcHlUZXN0cy5jcwpBZGRlZCBwYXRoczoKICBBIG1haW4vdGVzdHMvdGVz dC1wcm9qZWN0cy9sb2NhbC1jb3B5LXBhY2thZ2UvQ29uc29sZVByb2plY3Quc2xuCiAgQSBtYWlu L3Rlc3RzL3Rlc3QtcHJvamVjdHMvbG9jYWwtY29weS1wYWNrYWdlL0NvbnNvbGVQcm9qZWN0L0Nv bnNvbGVQcm9qZWN0LmNzcHJvagogIEEgbWFpbi90ZXN0cy90ZXN0LXByb2plY3RzL2xvY2FsLWNv cHktcGFja2FnZS9Db25zb2xlUHJvamVjdC9Qcm9ncmFtLmNzCiAgQSBtYWluL3Rlc3RzL3Rlc3Qt cHJvamVjdHMvbG9jYWwtY29weS1wYWNrYWdlL0NvbnNvbGVQcm9qZWN0L1Byb3BlcnRpZXMvQXNz ZW1ibHlJbmZvLmNzCiAgQSBtYWluL3Rlc3RzL3Rlc3QtcHJvamVjdHMvbG9jYWwtY29weS1wYWNr YWdlL0xpYlByb2plY3QvTGliUHJvamVjdC5jc3Byb2oKICBBIG1haW4vdGVzdHMvdGVzdC1wcm9q ZWN0cy9sb2NhbC1jb3B5LXBhY2thZ2UvTGliUHJvamVjdC9NeUNsYXNzLmNzCiAgQSBtYWluL3Rl c3RzL3Rlc3QtcHJvamVjdHMvbG9jYWwtY29weS1wYWNrYWdlL0xpYlByb2plY3QvUHJvcGVydGll cy9Bc3NlbWJseUluZm8uY3MKDQpNb2RpZmllZDogbWFpbi9zcmMvY29yZS9Nb25vRGV2ZWxvcC5D b3JlL01vbm9EZXZlbG9wLlByb2plY3RzLkZvcm1hdHMuTVNCdWlsZC9NU0J1aWxkUHJvamVjdC5j cw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KQEAgLTc2OSw2ICs3NjksMTEgQEAgcHVibGljIGJvb2wgSGFzTWV0YWRh dGEgKHN0cmluZyBuYW1lKQogCQkJcmV0dXJuIEV2YWx1YXRlZEVsZW1lbnQgW25hbWUsIE1TQnVp bGRQcm9qZWN0LlNjaGVtYV0gIT0gbnVsbDsKIAkJfQogCQkKKwkJcHVibGljIHZvaWQgU2V0TWV0 YWRhdGEgKHN0cmluZyBuYW1lLCBib29sIHZhbHVlKQorCQl7CisJCQlTZXRNZXRhZGF0YSAobmFt ZSwgdmFsdWUgPyAiVHJ1ZSIgOiAiRmFsc2UiKTsKKwkJfQorCiAJCXB1YmxpYyB2b2lkIFNldE1l dGFkYXRhIChzdHJpbmcgbmFtZSwgc3RyaW5nIHZhbHVlLCBib29sIGlzWG1sID0gZmFsc2UpCiAJ CXsKIAkJCS8vIERvbid0IG92ZXJ3cml0ZSB0aGUgbWV0YWRhdGEgdmFsdWUgaWYgdGhlIG5ldyB2 YWx1ZSBpcyB0aGUgc2FtZSBhcyB0aGUgb2xkCkBAIC04MDYsNiArODExLDE2IEBAIHB1YmxpYyBz dHJpbmcgR2V0TWV0YWRhdGEgKHN0cmluZyBuYW1lLCBib29sIGlzWG1sID0gZmFsc2UpCiAJCQkJ cmV0dXJuIG51bGw7CiAJCX0KIAorCQlwdWJsaWMgYm9vbD8gR2V0Qm9vbE1ldGFkYXRhIChzdHJp bmcgbmFtZSkKKwkJeworCQkJdmFyIHZhbCA9IEdldE1ldGFkYXRhIChuYW1lKTsKKwkJCWlmIChT dHJpbmcuRXF1YWxzICh2YWwsICJGYWxzZSIsIFN0cmluZ0NvbXBhcmlzb24uT3JkaW5hbElnbm9y ZUNhc2UpKQorCQkJCXJldHVybiBmYWxzZTsKKwkJCWlmIChTdHJpbmcuRXF1YWxzICh2YWwsICJU cnVlIiwgU3RyaW5nQ29tcGFyaXNvbi5PcmRpbmFsSWdub3JlQ2FzZSkpCisJCQkJcmV0dXJuIHRy dWU7CisJCQlyZXR1cm4gbnVsbDsKKwkJfQorCiAJCXB1YmxpYyBib29sIEdldE1ldGFkYXRhSXNG YWxzZSAoc3RyaW5nIG5hbWUpCiAJCXsKIAkJCXJldHVybiBTdHJpbmcuQ29tcGFyZSAoR2V0TWV0 YWRhdGEgKG5hbWUpLCAiRmFsc2UiLCBTdHJpbmdDb21wYXJpc29uLk9yZGluYWxJZ25vcmVDYXNl KSA9PSAwOw0KDQpNb2RpZmllZDogbWFpbi9zcmMvY29yZS9Nb25vRGV2ZWxvcC5Db3JlL01vbm9E ZXZlbG9wLlByb2plY3RzLkZvcm1hdHMuTVNCdWlsZC9NU0J1aWxkUHJvamVjdEhhbmRsZXIuY3MN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCkBAIC04NjYsNyArODY2LDYgQEAgUHJvamVjdEl0ZW0gUmVhZEl0ZW0gKE1T QnVpbGRTZXJpYWxpemVyIHNlciwgTVNCdWlsZEl0ZW0gYnVpbGRJdGVtKQogCQkJCQkJCXByZWYg PSBuZXcgUHJvamVjdFJlZmVyZW5jZSAoUmVmZXJlbmNlVHlwZS5QYWNrYWdlLCBidWlsZEl0ZW0u SW5jbHVkZSk7CiAJCQkJCQkJcHJlZi5FeHRlbmRlZFByb3BlcnRpZXMgWyJfT3JpZ2luYWxNU0J1 aWxkUmVmZXJlbmNlSGludFBhdGgiXSA9IGhpbnRQYXRoOwogCQkJCQkJfQotCQkJCQkJcHJlZi5M b2NhbENvcHkgPSAhYnVpbGRJdGVtLkdldE1ldGFkYXRhSXNGYWxzZSAoIlByaXZhdGUiKTsKIAkJ CQkJfSBlbHNlIHsKIAkJCQkJCXN0cmluZyBhc20gPSBidWlsZEl0ZW0uSW5jbHVkZTsKIAkJCQkJ CS8vIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBhIFZTIGJ1Zy4gTG9va3MgbGlrZSBpdCBpcyB3 cml0aW5nIHRoaXMgYXNzZW1ibHkgaW5jb3JyZWN0bHkKQEAgLTg3Nyw4ICs4NzYsMTEgQEAgUHJv amVjdEl0ZW0gUmVhZEl0ZW0gKE1TQnVpbGRTZXJpYWxpemVyIHNlciwgTVNCdWlsZEl0ZW0gYnVp bGRJdGVtKQogCQkJCQkJZWxzZSBpZiAoYXNtID09ICJzeXN0ZW0iKQogCQkJCQkJCWFzbSA9ICJT eXN0ZW0iOwogCQkJCQkJcHJlZiA9IG5ldyBQcm9qZWN0UmVmZXJlbmNlIChSZWZlcmVuY2VUeXBl LlBhY2thZ2UsIGFzbSk7Ci0JCQkJCQlwcmVmLkxvY2FsQ29weSA9ICFidWlsZEl0ZW0uR2V0TWV0 YWRhdGFJc0ZhbHNlICgiUHJpdmF0ZSIpOwogCQkJCQl9CisJCQkJCXZhciBwcml2YXRlQ29weSA9 IGJ1aWxkSXRlbS5HZXRCb29sTWV0YWRhdGEgKCJQcml2YXRlIik7CisJCQkJCWlmIChwcml2YXRl Q29weSAhPSBudWxsKQorCQkJCQkJcHJlZi5Mb2NhbENvcHkgPSBwcml2YXRlQ29weS5WYWx1ZTsK KwogCQkJCQlwcmVmLkNvbmRpdGlvbiA9IGJ1aWxkSXRlbS5Db25kaXRpb247CiAJCQkJCXN0cmlu ZyBzcGVjaWZpY1ZlcnNpb24gPSBidWlsZEl0ZW0uR2V0TWV0YWRhdGEgKCJTcGVjaWZpY1ZlcnNp b24iKTsKIAkJCQkJaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UgKHNwZWNpZmljVmVyc2lv bikpIHsKQEAgLTg5OCw4ICs5MDAsMTAgQEAgUHJvamVjdEl0ZW0gUmVhZEl0ZW0gKE1TQnVpbGRT ZXJpYWxpemVyIHNlciwgTVNCdWlsZEl0ZW0gYnVpbGRJdGVtKQogCQkJCQlzdHJpbmcgcGF0aCA9 IE1TQnVpbGRQcm9qZWN0U2VydmljZS5Gcm9tTVNCdWlsZFBhdGggKHByb2plY3QuSXRlbURpcmVj dG9yeSwgYnVpbGRJdGVtLkluY2x1ZGUpOwogCQkJCQlzdHJpbmcgbmFtZSA9IFBhdGguR2V0Rmls ZU5hbWVXaXRob3V0RXh0ZW5zaW9uIChwYXRoKTsKIAkJCQkJUHJvamVjdFJlZmVyZW5jZSBwcmVm ID0gbmV3IFByb2plY3RSZWZlcmVuY2UgKFJlZmVyZW5jZVR5cGUuUHJvamVjdCwgbmFtZSk7Ci0J CQkJCXByZWYuTG9jYWxDb3B5ID0gIWJ1aWxkSXRlbS5HZXRNZXRhZGF0YUlzRmFsc2UgKCJQcml2 YXRlIik7CiAJCQkJCXByZWYuQ29uZGl0aW9uID0gYnVpbGRJdGVtLkNvbmRpdGlvbjsKKwkJCQkJ dmFyIHByaXZhdGVDb3B5ID0gYnVpbGRJdGVtLkdldEJvb2xNZXRhZGF0YSAoIlByaXZhdGUiKTsK KwkJCQkJaWYgKHByaXZhdGVDb3B5ICE9IG51bGwpCisJCQkJCQlwcmVmLkxvY2FsQ29weSA9IHBy aXZhdGVDb3B5LlZhbHVlOwogCQkJCQlyZXR1cm4gcHJlZjsKIAkJCQl9CiAJCQkJZWxzZSBpZiAo ZHQgPT0gbnVsbCAmJiAhc3RyaW5nLklzTnVsbE9yRW1wdHkgKGJ1aWxkSXRlbS5JbmNsdWRlKSkg ewpAQCAtMTQ1NiwxMSArMTQ2MCw2IEBAIHZvaWQgU2F2ZVJlZmVyZW5jZSAoTW9ub0RldmVsb3Au Q29yZS5JUHJvZ3Jlc3NNb25pdG9yIG1vbml0b3IsIE1TQnVpbGRTZXJpYWxpemVyCiAJCQkJfQog CQkJCQogCQkJCWJ1aWxkSXRlbS5TZXRNZXRhZGF0YSAoIkhpbnRQYXRoIiwgaGludFBhdGgpOwot CQkJCQotCQkJCWlmICghcHJlZi5Mb2NhbENvcHkgJiYgcHJlZi5DYW5TZXRMb2NhbENvcHkpCi0J CQkJCWJ1aWxkSXRlbS5TZXRNZXRhZGF0YSAoIlByaXZhdGUiLCAiRmFsc2UiKTsKLQkJCQllbHNl Ci0JCQkJCWJ1aWxkSXRlbS5VbnNldE1ldGFkYXRhICgiUHJpdmF0ZSIpOwogCQkJfQogCQkJZWxz ZSBpZiAocHJlZi5SZWZlcmVuY2VUeXBlID09IFJlZmVyZW5jZVR5cGUuUGFja2FnZSkgewogCQkJ CXN0cmluZyBpbmNsdWRlID0gcHJlZi5TdG9yZWRSZWZlcmVuY2U7CkBAIC0xNDk1LDExICsxNDk0 LDYgQEAgdm9pZCBTYXZlUmVmZXJlbmNlIChNb25vRGV2ZWxvcC5Db3JlLklQcm9ncmVzc01vbml0 b3IgbW9uaXRvciwgTVNCdWlsZFNlcmlhbGl6ZXIKIAkJCQkJYnVpbGRJdGVtLlNldE1ldGFkYXRh ICgiSGludFBhdGgiLCBoaW50UGF0aCk7CiAJCQkJZWxzZQogCQkJCQlidWlsZEl0ZW0uVW5zZXRN ZXRhZGF0YSAoIkhpbnRQYXRoIik7Ci0JCQkJCi0JCQkJaWYgKCFwcmVmLkxvY2FsQ29weSAmJiBw cmVmLkNhblNldExvY2FsQ29weSkKLQkJCQkJYnVpbGRJdGVtLlNldE1ldGFkYXRhICgiUHJpdmF0 ZSIsICJGYWxzZSIpOwotCQkJCWVsc2UKLQkJCQkJYnVpbGRJdGVtLlVuc2V0TWV0YWRhdGEgKCJQ cml2YXRlIik7CiAJCQl9CiAJCQllbHNlIGlmIChwcmVmLlJlZmVyZW5jZVR5cGUgPT0gUmVmZXJl bmNlVHlwZS5Qcm9qZWN0KSB7CiAJCQkJUHJvamVjdCByZWZQcm9qID0gSXRlbS5QYXJlbnRTb2x1 dGlvbi5GaW5kUHJvamVjdEJ5TmFtZSAocHJlZi5SZWZlcmVuY2UpOwpAQCAtMTUxMSwxMCArMTUw NSw2IEBAIHZvaWQgU2F2ZVJlZmVyZW5jZSAoTW9ub0RldmVsb3AuQ29yZS5JUHJvZ3Jlc3NNb25p dG9yIG1vbml0b3IsIE1TQnVpbGRTZXJpYWxpemVyCiAJCQkJCWVsc2UKIAkJCQkJCWJ1aWxkSXRl bS5VbnNldE1ldGFkYXRhICgiUHJvamVjdCIpOwogCQkJCQlidWlsZEl0ZW0uU2V0TWV0YWRhdGEg KCJOYW1lIiwgcmVmUHJvai5OYW1lKTsKLQkJCQkJaWYgKCFwcmVmLkxvY2FsQ29weSkKLQkJCQkJ CWJ1aWxkSXRlbS5TZXRNZXRhZGF0YSAoIlByaXZhdGUiLCAiRmFsc2UiKTsKLQkJCQkJZWxzZQot CQkJCQkJYnVpbGRJdGVtLlVuc2V0TWV0YWRhdGEgKCJQcml2YXRlIik7CiAJCQkJfSBlbHNlIHsK IAkJCQkJbW9uaXRvci5SZXBvcnRXYXJuaW5nIChHZXR0ZXh0Q2F0YWxvZy5HZXRTdHJpbmcgKCJS ZWZlcmVuY2UgdG8gdW5rbm93biBwcm9qZWN0ICd7MH0nIGlnbm9yZWQuIiwgcHJlZi5SZWZlcmVu Y2UpKTsKIAkJCQkJcmV0dXJuOwpAQCAtMTUyNSw2ICsxNTE1LDEyIEBAIHZvaWQgU2F2ZVJlZmVy ZW5jZSAoTW9ub0RldmVsb3AuQ29yZS5JUHJvZ3Jlc3NNb25pdG9yIG1vbml0b3IsIE1TQnVpbGRT ZXJpYWxpemVyCiAJCQkJRGF0YVR5cGUgZHQgPSBzZXIuRGF0YUNvbnRleHQuR2V0Q29uZmlndXJh dGlvbkRhdGFUeXBlIChwcmVmLkdldFR5cGUgKCkpOwogCQkJCWJ1aWxkSXRlbSA9IEFkZE9yR2V0 QnVpbGRJdGVtIChtc3Byb2plY3QsIG9sZEl0ZW1zLCBkdC5OYW1lLCBwcmVmLlJlZmVyZW5jZSk7 CiAJCQl9CisKKwkJCWlmIChwcmVmLkxvY2FsQ29weSAhPSBwcmVmLkRlZmF1bHRMb2NhbENvcHkp CisJCQkJYnVpbGRJdGVtLlNldE1ldGFkYXRhICgiUHJpdmF0ZSIsIHByZWYuTG9jYWxDb3B5KTsK KwkJCWVsc2UKKwkJCQlidWlsZEl0ZW0uVW5zZXRNZXRhZGF0YSAoIlByaXZhdGUiKTsKKwogCQkJ V3JpdGVCdWlsZEl0ZW1NZXRhZGF0YSAoc2VyLCBidWlsZEl0ZW0sIHByZWYsIG9sZEl0ZW1zKTsK IAkJCWJ1aWxkSXRlbS5Db25kaXRpb24gPSBwcmVmLkNvbmRpdGlvbjsKIAkJfQ0KDQpNb2RpZmll ZDogbWFpbi9zcmMvY29yZS9Nb25vRGV2ZWxvcC5Db3JlL01vbm9EZXZlbG9wLlByb2plY3RzL0Rv dE5ldFByb2plY3QuY3MNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NCkBAIC01NzAsNyArNTcwLDcgQEAgdm9pZCBQb3B1 bGF0ZVN1cHBvcnRGaWxlTGlzdEludGVybmFsIChGaWxlQ29weVNldCBsaXN0LCBDb25maWd1cmF0 aW9uU2VsZWN0b3IgY28KIAkJCQkJCQlsaXN0LkFkZCAobWRiRmlsZSwgY29weUlmTmV3ZXIpOwog CQkJCQl9CiAJCQkJfQotCQkJCWVsc2UgaWYgKHByb2plY3RSZWZlcmVuY2UuUmVmZXJlbmNlVHlw ZSA9PSBSZWZlcmVuY2VUeXBlLkN1c3RvbSkgeworCQkJCWVsc2UgewogCQkJCQlmb3JlYWNoIChz dHJpbmcgcmVmRmlsZSBpbiBwcm9qZWN0UmVmZXJlbmNlLkdldFJlZmVyZW5jZWRGaWxlTmFtZXMg KGNvbmZpZ3VyYXRpb24pKQogCQkJCQkJbGlzdC5BZGQgKHJlZkZpbGUpOwogCQkJCX0NCg0KTW9k aWZpZWQ6IG1haW4vc3JjL2NvcmUvTW9ub0RldmVsb3AuQ29yZS9Nb25vRGV2ZWxvcC5Qcm9qZWN0 cy9Qcm9qZWN0UmVmZXJlbmNlLmNzDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpAQCAtNTgsNyArNTgsNyBAQCBwdWJs aWMgY2xhc3MgUHJvamVjdFJlZmVyZW5jZSA6IFByb2plY3RJdGVtLCBJQ2xvbmVhYmxlCiAJCVJl ZmVyZW5jZVR5cGUgcmVmZXJlbmNlVHlwZSA9IFJlZmVyZW5jZVR5cGUuQ3VzdG9tOwogCQlEb3RO ZXRQcm9qZWN0IG93bmVyUHJvamVjdDsKIAkJc3RyaW5nIHJlZmVyZW5jZSA9IFN0cmluZy5FbXB0 eTsKLQkJYm9vbCBsb2NhbENvcHkgPSB0cnVlOworCQlib29sPyBsb2NhbENvcHk7CiAJCQogCQkv LyBBIHByb2plY3QgbWF5IHJlZmVyZW5jZSBhc3NlbWJsaWVzIHdoaWNoIGFyZSBub3QgYXZhaWxh YmxlCiAJCS8vIGluIHRoZSBzeXN0ZW0gd2hlcmUgaXQgaXMgb3BlbmVkLiBGb3IgZXhhbXBsZSwg b3BlbmluZwpAQCAtMTE3LDE0ICsxMTcsMTMgQEAgcHVibGljIFByb2plY3RSZWZlcmVuY2UgKFBy b2plY3QgcmVmZXJlbmNlZFByb2plY3QpCiAJCXsKIAkJCXJlZmVyZW5jZVR5cGUgPSBSZWZlcmVu Y2VUeXBlLlByb2plY3Q7CiAJCQlyZWZlcmVuY2UgPSByZWZlcmVuY2VkUHJvamVjdC5OYW1lOwot CQkJc3BlY2lmaWNWZXJzaW9uID0gbG9jYWxDb3B5ID0gdHJ1ZTsKKwkJCXNwZWNpZmljVmVyc2lv biA9IHRydWU7CiAJCX0KIAkJCiAJCXB1YmxpYyBQcm9qZWN0UmVmZXJlbmNlIChTeXN0ZW1Bc3Nl bWJseSBhc20pCiAJCXsKIAkJCXJlZmVyZW5jZVR5cGUgPSBSZWZlcmVuY2VUeXBlLlBhY2thZ2U7 CiAJCQlyZWZlcmVuY2UgPSBhc20uRnVsbE5hbWU7Ci0JCQlsb2NhbENvcHkgPSBmYWxzZTsKIAkJ CWlmIChhc20uUGFja2FnZS5Jc0ZyYW1ld29ya1BhY2thZ2UpCiAJCQkJc3BlY2lmaWNWZXJzaW9u ID0gZmFsc2U7CiAJCQlpZiAoIWFzbS5QYWNrYWdlLklzR2FjUGFja2FnZSkKQEAgLTE4NCwxNiAr MTgzLDMwIEBAIHB1YmxpYyBzdGF0aWMgUHJvamVjdFJlZmVyZW5jZSBSZW5hbWVSZWZlcmVuY2Ug KFByb2plY3RSZWZlcmVuY2UgcHJlZiwgc3RyaW5nIG5lCiAJCQogCQlwdWJsaWMgYm9vbCBMb2Nh bENvcHkgewogCQkJZ2V0IHsKLQkJCQlyZXR1cm4gbG9jYWxDb3B5OworCQkJCS8vIFdoZW4gbm90 IGV4cGxpY2l0bHkgc2V0LCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBMb2NhbENvcHkgZGVwZW5kcyBv biB0aGUgdHlwZSBvZiByZWZlcmVuY2UuCisJCQkJLy8gRm9yIHByb2plY3QgYW5kIGZpbGUgcmVm ZXJlbmNlcyB0aGUgZGVmYXVsdCBpcyB0cnVlLiBGb3IgZnJhbWV3b3JrIGFuZCBwYWNrYWdlIGFz c2VtYmxpZXMKKwkJCQkvLyAoaW5jbHVkaW5nIEdBQykgdGhlIGRlZmF1bHQgaXMgZmFsc2UKKwor CQkJCWlmIChsb2NhbENvcHkuSGFzVmFsdWUpCisJCQkJCXJldHVybiBsb2NhbENvcHkuVmFsdWU7 CisJCQkJcmV0dXJuIERlZmF1bHRMb2NhbENvcHk7CiAJCQl9CiAJCQlzZXQgewogCQkJCWxvY2Fs Q29weSA9IHZhbHVlOworCQkJCWlmIChvd25lclByb2plY3QgIT0gbnVsbCkKKwkJCQkJb3duZXJQ cm9qZWN0Lk5vdGlmeU1vZGlmaWVkIChudWxsKTsKIAkJCX0KIAkJfQogCQkKKwkJaW50ZXJuYWwg Ym9vbCBEZWZhdWx0TG9jYWxDb3B5IHsKKwkJCWdldCB7CisJCQkJcmV0dXJuIHJlZmVyZW5jZVR5 cGUgIT0gUmVmZXJlbmNlVHlwZS5QYWNrYWdlOworCQkJfQorCQl9CisKIAkJcHVibGljIGJvb2wg Q2FuU2V0TG9jYWxDb3B5IHsKIAkJCWdldCB7Ci0JCQkJcmV0dXJuIGNhY2hlZFBhY2thZ2UgPT0g bnVsbCB8fCAhY2FjaGVkUGFja2FnZS5Jc0ZyYW1ld29ya1BhY2thZ2U7CisJCQkJcmV0dXJuIHRy dWU7CiAJCQl9CiAJCX0KIA0KDQpNb2RpZmllZDogbWFpbi9zcmMvY29yZS9Nb25vRGV2ZWxvcC5D b3JlL01vbm9EZXZlbG9wLlByb2plY3RzL1NvbHV0aW9uSXRlbS5jcw0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KQEAg LTg5OCw3ICs4OTgsNyBAQCBwcm90ZWN0ZWQgdmlydHVhbCB2b2lkIE9uRW5kTG9hZCAoKQogCQkv Ly8gPHBhcmFtIG5hbWU9J2hpbnQnPgogCQkvLy8gSGludCBhYm91dCB3aGljaCBwYXJ0IG9mIHRo ZSBzb2x1dGlvbiBpdGVtIGhhcyBiZWVuIG1vZGlmaWVkLiBUaGlzIHdpbGwgdHlwaWNhbGx5IGJl IHRoZSBwcm9wZXJ0eSBuYW1lLgogCQkvLy8gPC9wYXJhbT4KLQkJcHJvdGVjdGVkIHZvaWQgTm90 aWZ5TW9kaWZpZWQgKHN0cmluZyBoaW50KQorCQlpbnRlcm5hbCBwcm90ZWN0ZWQgdm9pZCBOb3Rp ZnlNb2RpZmllZCAoc3RyaW5nIGhpbnQpCiAJCXsKIAkJCWlmICghTG9hZGluZykKIAkJCQlJdGVt SGFuZGxlci5Pbk1vZGlmaWVkIChoaW50KTsNCg0KTW9kaWZpZWQ6IG1haW4vdGVzdHMvVW5pdFRl c3RzL01vbm9EZXZlbG9wLlByb2plY3RzL0xvY2FsQ29weVRlc3RzLmNzDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpA QCAtMzIsNiArMzIsOCBAQAogdXNpbmcgTlVuaXQuRnJhbWV3b3JrOwogdXNpbmcgVW5pdFRlc3Rz OwogdXNpbmcgTW9ub0RldmVsb3AuQ29yZTsKK3VzaW5nIFN5c3RlbS5MaW5xOwordXNpbmcgTW9u b0RldmVsb3AuQ29yZS5Qcm9ncmVzc01vbml0b3Jpbmc7CiAKIG5hbWVzcGFjZSBNb25vRGV2ZWxv cC5Qcm9qZWN0cwogewpAQCAtMTk5LDUgKzIwMSw1MSBAQCBwdWJsaWMgdm9pZCBDaGVja0xvY2Fs Q29weUJ1aWxkV2FybmluZ3MgKCkKIAkJewogCQkJLy8gU2VlIGNvbW1lbnRlZCBhc3NlcnQgaW4g QXNzZXJ0Q2xlYW5CdWlsZAogCQl9CisKKwkJW1Rlc3RdCisJCXB1YmxpYyB2b2lkIExvY2FsQ29w eURlZmF1bHQgKCkKKwkJeworCQkJc3RyaW5nIHNvbEZpbGUgPSBVdGlsLkdldFNhbXBsZVByb2pl Y3QgKCJsb2NhbC1jb3B5LXBhY2thZ2UiLCAiQ29uc29sZVByb2plY3Quc2xuIik7CisKKwkJCVdv cmtzcGFjZUl0ZW0gaXRlbSA9IFNlcnZpY2VzLlByb2plY3RTZXJ2aWNlLlJlYWRXb3Jrc3BhY2VJ dGVtIChVdGlsLkdldE1vbml0b3IgKCksIHNvbEZpbGUpOworCQkJU29sdXRpb24gc29sID0gKFNv bHV0aW9uKSBpdGVtOworCQkJdmFyIHAgPSAoRG90TmV0UHJvamVjdClzb2wuSXRlbXMgWzBdOwor CisJCQl2YXIgYXIgPSBwLlJlZmVyZW5jZXMuRmlyc3QgKHIgPT4gci5SZWZlcmVuY2UuQ29udGFp bnMgKCJndGsiKSk7CisJCQlBc3NlcnQuQXJlRXF1YWwgKGZhbHNlLCBhci5Mb2NhbENvcHkpOwor CQkJYXIuTG9jYWxDb3B5ID0gdHJ1ZTsKKwkJCUFzc2VydC5BcmVFcXVhbCAodHJ1ZSwgYXIuTG9j YWxDb3B5KTsKKworCQkJYXIgPSBwLlJlZmVyZW5jZXMuRmlyc3QgKHIgPT4gci5SZWZlcmVuY2Uu Q29udGFpbnMgKCJTeXN0ZW0uRGF0YSIpKTsKKwkJCUFzc2VydC5BcmVFcXVhbCAoZmFsc2UsIGFy LkxvY2FsQ29weSk7CisJCQlhci5Mb2NhbENvcHkgPSB0cnVlOworCQkJQXNzZXJ0LkFyZUVxdWFs ICh0cnVlLCBhci5Mb2NhbENvcHkpOworCisJCQlhciA9IHAuUmVmZXJlbmNlcy5GaXJzdCAociA9 PiByLlJlZmVyZW5jZS5Db250YWlucyAoIkxpYlByb2plY3QiKSk7CisJCQlBc3NlcnQuQXJlRXF1 YWwgKHRydWUsIGFyLkxvY2FsQ29weSk7CisJCQlhci5Mb2NhbENvcHkgPSBmYWxzZTsKKwkJCUFz c2VydC5BcmVFcXVhbCAoZmFsc2UsIGFyLkxvY2FsQ29weSk7CisKKwkJCWFyID0gcC5SZWZlcmVu Y2VzLkZpcnN0IChyID0+IHIuUmVmZXJlbmNlLkNvbnRhaW5zICgiWHd0IikpOworCQkJQXNzZXJ0 LkFyZUVxdWFsICh0cnVlLCBhci5Mb2NhbENvcHkpOworCQkJYXIuTG9jYWxDb3B5ID0gZmFsc2U7 CisJCQlBc3NlcnQuQXJlRXF1YWwgKGZhbHNlLCBhci5Mb2NhbENvcHkpOworCisJCQlzb2wuU2F2 ZSAobmV3IE51bGxQcm9ncmVzc01vbml0b3IgKCkpOworCQkJc29sLkJ1aWxkIChuZXcgTnVsbFBy b2dyZXNzTW9uaXRvciAoKSwgIkRlYnVnIik7CisKKwkJCXN0cmluZyBleGVEZWJ1ZyA9IFBsYXRm b3JtLklzV2luZG93cyA/ICIucGRiIiA6ICIuZXhlLm1kYiI7CisKKwkJCUFzc2VydE91dHB1dEZp bGVzIChzb2wsICJDb25zb2xlUHJvamVjdCIsICJEZWJ1ZyIsIG5ldyBzdHJpbmdbXSB7CisJCQkJ IkNvbnNvbGVQcm9qZWN0LmV4ZSIsCisJCQkJIkNvbnNvbGVQcm9qZWN0IiArIGV4ZURlYnVnLAor CQkJCSJTeXN0ZW0uRGF0YS5kbGwiLAorCQkJCSJndGstc2hhcnAuZGxsIgorCQkJfSk7CisKKwkJ CXN0cmluZyBwcm9qZWN0WG1sMSA9IFV0aWwuR2V0WG1sRmlsZUluZm9zZXQgKHAuRmlsZU5hbWUu UGFyZW50RGlyZWN0b3J5LkNvbWJpbmUgKCJDb25zb2xlUHJvamVjdC5jc3Byb2ouc2F2ZWQiKSk7 CisJCQlzdHJpbmcgcHJvamVjdFhtbDIgPSBVdGlsLkdldFhtbEZpbGVJbmZvc2V0IChwLkZpbGVO YW1lKTsKKwkJCUFzc2VydC5BcmVFcXVhbCAocHJvamVjdFhtbDEsIHByb2plY3RYbWwyKTsKKwkJ fQogCX0KIH0NCg0KQWRkZWQ6IG1haW4vdGVzdHMvdGVzdC1wcm9qZWN0cy9sb2NhbC1jb3B5LXBh Y2thZ2UvQ29uc29sZVByb2plY3Quc2xuDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpAQCAtMCwwICsxLDI5IEBACivv u78NCitNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lv biA5LjAwDQorIyBWaXN1YWwgU3R1ZGlvIDIwMDUNCitQcm9qZWN0KCJ7RkFFMDRFQzAtMzAxRi0x MUQzLUJGNEItMDBDMDRGNzlFRkJDfSIpID0gIkNvbnNvbGVQcm9qZWN0IiwgIkNvbnNvbGVQcm9q ZWN0XENvbnNvbGVQcm9qZWN0LmNzcHJvaiIsICJ7NEE5RTM1MjMtNDhGMC00QkRGLUEwRjQtNDlE QUQ0NDMxRkFCfSINCitFbmRQcm9qZWN0DQorUHJvamVjdCgie0ZBRTA0RUMwLTMwMUYtMTFEMy1C RjRCLTAwQzA0Rjc5RUZCQ30iKSA9ICJMaWJQcm9qZWN0IiwgIkxpYlByb2plY3RcTGliUHJvamVj dC5jc3Byb2oiLCAiezlBNjgyNjFDLTlCQUMtNEZFQi05M0ZELTlGRUI5MjQzQ0Y0QX0iDQorRW5k UHJvamVjdA0KK0dsb2JhbA0KKwlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvblBs YXRmb3JtcykgPSBwcmVTb2x1dGlvbg0KKwkJRGVidWd8QW55IENQVSA9IERlYnVnfEFueSBDUFUN CisJCVJlbGVhc2V8QW55IENQVSA9IFJlbGVhc2V8QW55IENQVQ0KKwlFbmRHbG9iYWxTZWN0aW9u DQorCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNv bHV0aW9uDQorCQl7NEE5RTM1MjMtNDhGMC00QkRGLUEwRjQtNDlEQUQ0NDMxRkFCfS5EZWJ1Z3xB bnkgQ1BVLkFjdGl2ZUNmZyA9IERlYnVnfEFueSBDUFUNCisJCXs0QTlFMzUyMy00OEYwLTRCREYt QTBGNC00OURBRDQ0MzFGQUJ9LkRlYnVnfEFueSBDUFUuQnVpbGQuMCA9IERlYnVnfEFueSBDUFUN CisJCXs0QTlFMzUyMy00OEYwLTRCREYtQTBGNC00OURBRDQ0MzFGQUJ9LlJlbGVhc2V8QW55IENQ VS5BY3RpdmVDZmcgPSBSZWxlYXNlfEFueSBDUFUNCisJCXs0QTlFMzUyMy00OEYwLTRCREYtQTBG NC00OURBRDQ0MzFGQUJ9LlJlbGVhc2V8QW55IENQVS5CdWlsZC4wID0gUmVsZWFzZXxBbnkgQ1BV DQorCQl7OUE2ODI2MUMtOUJBQy00RkVCLTkzRkQtOUZFQjkyNDNDRjRBfS5EZWJ1Z3xBbnkgQ1BV LkFjdGl2ZUNmZyA9IERlYnVnfEFueSBDUFUNCisJCXs5QTY4MjYxQy05QkFDLTRGRUItOTNGRC05 RkVCOTI0M0NGNEF9LkRlYnVnfEFueSBDUFUuQnVpbGQuMCA9IERlYnVnfEFueSBDUFUNCisJCXs5 QTY4MjYxQy05QkFDLTRGRUItOTNGRC05RkVCOTI0M0NGNEF9LlJlbGVhc2V8QW55IENQVS5BY3Rp dmVDZmcgPSBSZWxlYXNlfEFueSBDUFUNCisJCXs5QTY4MjYxQy05QkFDLTRGRUItOTNGRC05RkVC OTI0M0NGNEF9LlJlbGVhc2V8QW55IENQVS5CdWlsZC4wID0gUmVsZWFzZXxBbnkgQ1BVDQorCUVu ZEdsb2JhbFNlY3Rpb24NCisJR2xvYmFsU2VjdGlvbihNb25vRGV2ZWxvcFByb3BlcnRpZXMpID0g cHJlU29sdXRpb24NCisJCVN0YXJ0dXBJdGVtID0gQ29uc29sZVByb2plY3RcQ29uc29sZVByb2pl Y3QuY3Nwcm9qDQorCUVuZEdsb2JhbFNlY3Rpb24NCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvblBy b3BlcnRpZXMpID0gcHJlU29sdXRpb24NCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQ0KKwlF bmRHbG9iYWxTZWN0aW9uDQorRW5kR2xvYmFsDQ0KDQpBZGRlZDogbWFpbi90ZXN0cy90ZXN0LXBy b2plY3RzL2xvY2FsLWNvcHktcGFja2FnZS9Db25zb2xlUHJvamVjdC9Db25zb2xlUHJvamVjdC5j c3Byb2oNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NCkBAIC0wLDAgKzEsNjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIg ZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5z PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgor ICA8UHJvcGVydHlHcm91cD4KKyAgICA8Q29uZmlndXJhdGlvbiBDb25kaXRpb249IiAnJChDb25m aWd1cmF0aW9uKScgPT0gJycgIj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICA8UGxhdGZvcm0g Q29uZGl0aW9uPSIgJyQoUGxhdGZvcm0pJyA9PSAnJyAiPkFueUNQVTwvUGxhdGZvcm0+CisgICAg PFByb2R1Y3RWZXJzaW9uPjguMC41MDcyNzwvUHJvZHVjdFZlcnNpb24+CisgICAgPFNjaGVtYVZl cnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgIDxQcm9qZWN0R3VpZD57NEE5RTM1MjMtNDhG MC00QkRGLUEwRjQtNDlEQUQ0NDMxRkFCfTwvUHJvamVjdEd1aWQ+CisgICAgPE91dHB1dFR5cGU+ RXhlPC9PdXRwdXRUeXBlPgorICAgIDxBcHBEZXNpZ25lckZvbGRlcj5Qcm9wZXJ0aWVzPC9BcHBE ZXNpZ25lckZvbGRlcj4KKyAgICA8Um9vdE5hbWVzcGFjZT5Db25zb2xlUHJvamVjdDwvUm9vdE5h bWVzcGFjZT4KKyAgICA8QXNzZW1ibHlOYW1lPkNvbnNvbGVQcm9qZWN0PC9Bc3NlbWJseU5hbWU+ CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoQ29u ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdEZWJ1Z3xBbnlDUFUnICI+CisgICAgPERlYnVn U3ltYm9scz5UcnVlPC9EZWJ1Z1N5bWJvbHM+CisgICAgPERlYnVnVHlwZT5mdWxsPC9EZWJ1Z1R5 cGU+CisgICAgPE9wdGltaXplPkZhbHNlPC9PcHRpbWl6ZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5c RGVidWdcPC9PdXRwdXRQYXRoPgorICAgIDxEZWZpbmVDb25zdGFudHM+REVCVUc7VFJBQ0U8L0Rl ZmluZUNvbnN0YW50cz4KKyAgICA8RXJyb3JSZXBvcnQ+cHJvbXB0PC9FcnJvclJlcG9ydD4KKyAg ICA8V2FybmluZ0xldmVsPjQ8L1dhcm5pbmdMZXZlbD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8 UHJvcGVydHlHcm91cCBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKScg PT0gJ1JlbGVhc2V8QW55Q1BVJyAiPgorICAgIDxEZWJ1Z1R5cGU+cGRib25seTwvRGVidWdUeXBl PgorICAgIDxPcHRpbWl6ZT5UcnVlPC9PcHRpbWl6ZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5cUmVs ZWFzZVw8L091dHB1dFBhdGg+CisgICAgPERlZmluZUNvbnN0YW50cz5UUkFDRTwvRGVmaW5lQ29u c3RhbnRzPgorICAgIDxFcnJvclJlcG9ydD5wcm9tcHQ8L0Vycm9yUmVwb3J0PgorICAgIDxXYXJu aW5nTGV2ZWw+NDwvV2FybmluZ0xldmVsPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtR3Jv dXA+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0iIC8+CisgICAgPFJlZmVyZW5jZSBJ bmNsdWRlPSJTeXN0ZW0uRGF0YSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5Y bWwiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJndGstc2hhcnAsIFZlcnNpb249Mi4xMi4w LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzVlMTAxOTVkYWIzYzk5ZiI+Cisg ICAgICA8UHJpdmF0ZT5GYWxzZTwvUHJpdmF0ZT4KKyAgICA8L1JlZmVyZW5jZT4KKyAgICA8UmVm ZXJlbmNlIEluY2x1ZGU9Ilh3dCI+CisgICAgICA8SGludFBhdGg+Li5cLi5cLi5cLi5cYnVpbGRc YmluXFh3dC5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4K KyAgPEl0ZW1Hcm91cD4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJQcm9ncmFtLmNzIiAvPgorICAg IDxDb21waWxlIEluY2x1ZGU9IlByb3BlcnRpZXNcQXNzZW1ibHlJbmZvLmNzIiAvPgorICA8L0l0 ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKE1TQnVpbGRCaW5QYXRoKVxNaWNyb3NvZnQu Q1NoYXJwLnRhcmdldHMiIC8+CisgIDwhLS0gVG8gbW9kaWZ5IHlvdXIgYnVpbGQgcHJvY2Vzcywg YWRkIHlvdXIgdGFzayBpbnNpZGUgb25lIG9mIHRoZSB0YXJnZXRzIGJlbG93IGFuZCB1bmNvbW1l bnQgaXQuIAorICAgICAgIE90aGVyIHNpbWlsYXIgZXh0ZW5zaW9uIHBvaW50cyBleGlzdCwgc2Vl IE1pY3Jvc29mdC5Db21tb24udGFyZ2V0cy4KKyAgPFRhcmdldCBOYW1lPSJCZWZvcmVCdWlsZCI+ CisgIDwvVGFyZ2V0PgorICA8VGFyZ2V0IE5hbWU9IkFmdGVyQnVpbGQiPgorICA8L1RhcmdldD4K KyAgLS0+CisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5c TGliUHJvamVjdFxMaWJQcm9qZWN0LmNzcHJvaiI+CisgICAgICA8UHJvamVjdD57OUE2ODI2MUMt OUJBQy00RkVCLTkzRkQtOUZFQjkyNDNDRjRBfTwvUHJvamVjdD4KKyAgICAgIDxOYW1lPkxpYlBy b2plY3Q8L05hbWU+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKzwv UHJvamVjdD4NCg0KQWRkZWQ6IG1haW4vdGVzdHMvdGVzdC1wcm9qZWN0cy9sb2NhbC1jb3B5LXBh Y2thZ2UvQ29uc29sZVByb2plY3QvUHJvZ3JhbS5jcw0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KQEAgLTAsMCArMSwx NCBAQAordXNpbmcgU3lzdGVtOw0KK3VzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOw0K K3VzaW5nIFN5c3RlbS5UZXh0Ow0KKw0KK25hbWVzcGFjZSBDb25zb2xlUHJvamVjdA0KK3sNCisg ICAgY2xhc3MgUHJvZ3JhbQ0KKyAgICB7DQorICAgICAgICBzdGF0aWMgdm9pZCBNYWluIChzdHJp bmdbXSBhcmdzKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lICgi SGVsbG8gd29ybGQiKTsNCisgICAgICAgIH0NCisgICAgfQ0KK30NDQoNCkFkZGVkOiBtYWluL3Rl c3RzL3Rlc3QtcHJvamVjdHMvbG9jYWwtY29weS1wYWNrYWdlL0NvbnNvbGVQcm9qZWN0L1Byb3Bl cnRpZXMvQXNzZW1ibHlJbmZvLmNzDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpAQCAtMCwwICsxLDMzIEBACivvu791 c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsNCit1c2luZyBTeXN0ZW0uUnVudGltZS5Db21waWxlclNl cnZpY2VzOw0KK3VzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsNCisNCisvLyBH ZW5lcmFsIEluZm9ybWF0aW9uIGFib3V0IGFuIGFzc2VtYmx5IGlzIGNvbnRyb2xsZWQgdGhyb3Vn aCB0aGUgZm9sbG93aW5nIA0KKy8vIHNldCBvZiBhdHRyaWJ1dGVzLiBDaGFuZ2UgdGhlc2UgYXR0 cmlidXRlIHZhbHVlcyB0byBtb2RpZnkgdGhlIGluZm9ybWF0aW9uDQorLy8gYXNzb2NpYXRlZCB3 aXRoIGFuIGFzc2VtYmx5Lg0KK1thc3NlbWJseTogQXNzZW1ibHlUaXRsZSAoIkNvbnNvbGVQcm9q ZWN0IildDQorW2Fzc2VtYmx5OiBBc3NlbWJseURlc2NyaXB0aW9uICgiIildDQorW2Fzc2VtYmx5 OiBBc3NlbWJseUNvbmZpZ3VyYXRpb24gKCIiKV0NCitbYXNzZW1ibHk6IEFzc2VtYmx5Q29tcGFu eSAoIiIpXQ0KK1thc3NlbWJseTogQXNzZW1ibHlQcm9kdWN0ICgiQ29uc29sZVByb2plY3QiKV0N CitbYXNzZW1ibHk6IEFzc2VtYmx5Q29weXJpZ2h0ICgiQ29weXJpZ2h0IMKpICAyMDA4IildDQor W2Fzc2VtYmx5OiBBc3NlbWJseVRyYWRlbWFyayAoIiIpXQ0KK1thc3NlbWJseTogQXNzZW1ibHlD dWx0dXJlICgiIildDQorDQorLy8gU2V0dGluZyBDb21WaXNpYmxlIHRvIGZhbHNlIG1ha2VzIHRo ZSB0eXBlcyBpbiB0aGlzIGFzc2VtYmx5IG5vdCB2aXNpYmxlIA0KKy8vIHRvIENPTSBjb21wb25l bnRzLiAgSWYgeW91IG5lZWQgdG8gYWNjZXNzIGEgdHlwZSBpbiB0aGlzIGFzc2VtYmx5IGZyb20g DQorLy8gQ09NLCBzZXQgdGhlIENvbVZpc2libGUgYXR0cmlidXRlIHRvIHRydWUgb24gdGhhdCB0 eXBlLg0KK1thc3NlbWJseTogQ29tVmlzaWJsZSAoZmFsc2UpXQ0KKw0KKy8vIFRoZSBmb2xsb3dp bmcgR1VJRCBpcyBmb3IgdGhlIElEIG9mIHRoZSB0eXBlbGliIGlmIHRoaXMgcHJvamVjdCBpcyBl eHBvc2VkIHRvIENPTQ0KK1thc3NlbWJseTogR3VpZCAoImExYjg1YzVmLWU1MDYtNDYyYS05MTFj LWNiZTY3YzAzNWM5MyIpXQ0KKw0KKy8vIFZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGFuIGFzc2Vt Ymx5IGNvbnNpc3RzIG9mIHRoZSBmb2xsb3dpbmcgZm91ciB2YWx1ZXM6DQorLy8NCisvLyAgICAg IE1ham9yIFZlcnNpb24NCisvLyAgICAgIE1pbm9yIFZlcnNpb24gDQorLy8gICAgICBCdWlsZCBO dW1iZXINCisvLyAgICAgIFJldmlzaW9uDQorLy8NCitbYXNzZW1ibHk6IEFzc2VtYmx5VmVyc2lv biAoIjEuMC4wLjAiKV0NCitbYXNzZW1ibHk6IEFzc2VtYmx5RmlsZVZlcnNpb24gKCIxLjAuMC4w IildDQ0KDQpBZGRlZDogbWFpbi90ZXN0cy90ZXN0LXByb2plY3RzL2xvY2FsLWNvcHktcGFja2Fn ZS9MaWJQcm9qZWN0L0xpYlByb2plY3QuY3Nwcm9qDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpAQCAtMCwwICsxLDM5 IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVm YXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9k ZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPENvbmZpZ3Vy YXRpb24gQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbiknID09ICcnICI+RGVidWc8L0NvbmZp Z3VyYXRpb24+CisgICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iICckKFBsYXRmb3JtKScgPT0gJycg Ij5BbnlDUFU8L1BsYXRmb3JtPgorICAgIDxQcm9kdWN0VmVyc2lvbj44LjAuNTA3Mjc8L1Byb2R1 Y3RWZXJzaW9uPgorICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICA8 UHJvamVjdEd1aWQ+ezlBNjgyNjFDLTlCQUMtNEZFQi05M0ZELTlGRUI5MjQzQ0Y0QX08L1Byb2pl Y3RHdWlkPgorICAgIDxPdXRwdXRUeXBlPkxpYnJhcnk8L091dHB1dFR5cGU+CisgICAgPFJvb3RO YW1lc3BhY2U+TGliUHJvamVjdDwvUm9vdE5hbWVzcGFjZT4KKyAgICA8QXNzZW1ibHlOYW1lPkxp YlByb2plY3Q8L0Fzc2VtYmx5TmFtZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlH cm91cCBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKScgPT0gJ0RlYnVn fEFueUNQVScgIj4KKyAgICA8RGVidWdTeW1ib2xzPnRydWU8L0RlYnVnU3ltYm9scz4KKyAgICA8 RGVidWdUeXBlPmZ1bGw8L0RlYnVnVHlwZT4KKyAgICA8T3B0aW1pemU+ZmFsc2U8L09wdGltaXpl PgorICAgIDxPdXRwdXRQYXRoPmJpblxEZWJ1ZzwvT3V0cHV0UGF0aD4KKyAgICA8RGVmaW5lQ29u c3RhbnRzPkRFQlVHOzwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDxFcnJvclJlcG9ydD5wcm9tcHQ8 L0Vycm9yUmVwb3J0PgorICAgIDxXYXJuaW5nTGV2ZWw+NDwvV2FybmluZ0xldmVsPgorICAgIDxD b25zb2xlUGF1c2U+ZmFsc2U8L0NvbnNvbGVQYXVzZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8 UHJvcGVydHlHcm91cCBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKScg PT0gJ1JlbGVhc2V8QW55Q1BVJyAiPgorICAgIDxEZWJ1Z1R5cGU+ZnVsbDwvRGVidWdUeXBlPgor ICAgIDxPcHRpbWl6ZT50cnVlPC9PcHRpbWl6ZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5cUmVsZWFz ZTwvT3V0cHV0UGF0aD4KKyAgICA8RXJyb3JSZXBvcnQ+cHJvbXB0PC9FcnJvclJlcG9ydD4KKyAg ICA8V2FybmluZ0xldmVsPjQ8L1dhcm5pbmdMZXZlbD4KKyAgICA8Q29uc29sZVBhdXNlPmZhbHNl PC9Db25zb2xlUGF1c2U+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8 UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbSIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3Jv dXA+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTXlDbGFzcy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJ bmNsdWRlPSJQcm9wZXJ0aWVzXEFzc2VtYmx5SW5mby5jcyIgLz4KKyAgPC9JdGVtR3JvdXA+Cisg IDxJbXBvcnQgUHJvamVjdD0iJChNU0J1aWxkQmluUGF0aClcTWljcm9zb2Z0LkNTaGFycC50YXJn ZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUNCg0KQWRkZWQ6 IG1haW4vdGVzdHMvdGVzdC1wcm9qZWN0cy9sb2NhbC1jb3B5LXBhY2thZ2UvTGliUHJvamVjdC9N eUNsYXNzLmNzDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQpAQCAtMCwwICsxLDEyIEBACivvu791c2luZyBTeXN0ZW07 CisKK25hbWVzcGFjZSBMaWJQcm9qZWN0Cit7CisJcHVibGljIGNsYXNzIE15Q2xhc3MKKwl7CisJ CXB1YmxpYyBNeUNsYXNzICgpCisJCXsKKwkJfQorCX0KK30KKw0KDQpBZGRlZDogbWFpbi90ZXN0 cy90ZXN0LXByb2plY3RzL2xvY2FsLWNvcHktcGFja2FnZS9MaWJQcm9qZWN0L1Byb3BlcnRpZXMv QXNzZW1ibHlJbmZvLmNzDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpAQCAtMCwwICsxLDIyIEBACivvu791c2luZyBT eXN0ZW0uUmVmbGVjdGlvbjsKK3VzaW5nIFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXM7 CisKKy8vIEluZm9ybWF0aW9uIGFib3V0IHRoaXMgYXNzZW1ibHkgaXMgZGVmaW5lZCBieSB0aGUg Zm9sbG93aW5nIGF0dHJpYnV0ZXMuCisvLyBDaGFuZ2UgdGhlbSB0byB0aGUgdmFsdWVzIHNwZWNp ZmljIHRvIHlvdXIgcHJvamVjdC4KK1thc3NlbWJseTogQXNzZW1ibHlUaXRsZSAoIkxpYlByb2pl Y3QiKV0KK1thc3NlbWJseTogQXNzZW1ibHlEZXNjcmlwdGlvbiAoIiIpXQorW2Fzc2VtYmx5OiBB c3NlbWJseUNvbmZpZ3VyYXRpb24gKCIiKV0KK1thc3NlbWJseTogQXNzZW1ibHlDb21wYW55ICgi IildCitbYXNzZW1ibHk6IEFzc2VtYmx5UHJvZHVjdCAoIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJs eUNvcHlyaWdodCAoIlhhbWFyaW4gSW5jLiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseVRyYWRlbWFy ayAoIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUN1bHR1cmUgKCIiKV0KKy8vIFRoZSBhc3NlbWJs eSB2ZXJzaW9uIGhhcyB0aGUgZm9ybWF0ICJ7TWFqb3J9LntNaW5vcn0ue0J1aWxkfS57UmV2aXNp b259Ii4KKy8vIFRoZSBmb3JtICJ7TWFqb3J9LntNaW5vcn0uKiIgd2lsbCBhdXRvbWF0aWNhbGx5 IHVwZGF0ZSB0aGUgYnVpbGQgYW5kIHJldmlzaW9uLAorLy8gYW5kICJ7TWFqb3J9LntNaW5vcn0u e0J1aWxkfS4qIiB3aWxsIHVwZGF0ZSBqdXN0IHRoZSByZXZpc2lvbi4KK1thc3NlbWJseTogQXNz ZW1ibHlWZXJzaW9uICgiMS4wLioiKV0KKy8vIFRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyBhcmUg dXNlZCB0byBzcGVjaWZ5IHRoZSBzaWduaW5nIGtleSBmb3IgdGhlIGFzc2VtYmx5LAorLy8gaWYg ZGVzaXJlZC4gU2VlIHRoZSBNb25vIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24g YWJvdXQgc2lnbmluZy4KKy8vW2Fzc2VtYmx5OiBBc3NlbWJseURlbGF5U2lnbihmYWxzZSldCisv L1thc3NlbWJseTogQXNzZW1ibHlLZXlGaWxlKCIiKV0KKw0KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KTW9uby1wYXRjaGVzIG1haWxsaXN0ICAtICBNb25v LXBhdGNoZXNAbGlzdHMueGltaWFuLmNvbQpodHRwOi8vbGlzdHMueGltaWFuLmNvbS9tYWlsbWFu L2xpc3RpbmZvL21vbm8tcGF0Y2hlcwo=